gpt4 book ai didi

mysql - 如何在 MySQL 表中搜索前缀?

转载 作者:行者123 更新时间:2023-11-29 10:28:21 24 4
gpt4 key购买 nike

我收到了一张信用卡,我正在尝试使用该卡的前几位数字来确定该信用卡的类型。
例如,如果卡以 4833 开头,那么我的查询应返回 Visa。
如果以 4026 开头,那么它将返回 Visa Electron。

如何编写查询来执行此操作?

我的 table 名称是卡片

+-----+---------------+--------+
| id | card_name | prefix |
+-----+---------------+--------+
| 915 | Visa | 4 |
| 916 | Visa Electron | 4026 |
| 917 | Visa Electron | 417500 |
| 918 | Visa Electron | 4405 |
| 919 | Visa Electron | 4508 |
| 920 | Visa Electron | 4844 |
| 921 | Visa Electron | 4913 |
| 922 | Visa Electron | 4917 |
+-----+---------------+--------+

最佳答案

正则表达式适用于您的情况。您需要的正则表达式只是后跟通配符的模式。

但是,通过简单匹配,您将获得多个结果,例如 4026 将匹配 4 和 4026。为了解决此问题,您选择限制最严格的一个作为匹配,限制最严格的一个将是前缀最长的长度。

SELECT card_name 
FROM cards
WHERE [CREDIT CARD NUMBER] LIKE CONCAT(prefix, '%')
ORDER BY LENGTH(prefix) DESC
LIMIT 1;

关于mysql - 如何在 MySQL 表中搜索前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47898227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com