卡bin查询sql分享
发表于:2024-10-21 作者:千家信息网编辑
千家信息网最后更新 2024年10月21日,卡bin:卡号的前6位数字代表发卡行标识代码,也叫BIN号,不同的BIN号代表了不同的银行卡组织和卡片级别。最近更新了系统的卡bin表数据(bank_card_bin),发现卡bin长度并不是前述的6
千家信息网最后更新 2024年10月21日卡bin查询sql分享
卡bin:卡号的前6位数字代表发卡行标识代码,也叫BIN号,不同的BIN号代表了不同的银行卡组织和卡片级别。
最近更新了系统的卡bin表数据(bank_card_bin),发现卡bin长度并不是前述的6位数字,卡bin长度为8位(有些6位、有些7位,非定长),如下表,
支行 | 行名称 | 卡名 | 卡类型 | 卡bin | 卡bin长度 | 长度 | 组织码 |
乌拉特中旗蒙银村镇银行 | 乌拉特中旗蒙银村镇银行 | 蒙银借记卡 | 借记卡 | 62134607 | 8 | 19 | 15142075 |
磴口蒙银村镇银行 | 磴口蒙银村镇银行 | 蒙银借记卡 | 借记卡 | 62134626 | 8 | 19 | 15142073 |
鄂托克前旗蒙银村镇银行 | 鄂托克前旗蒙银村镇银行 | 蒙银借记卡 | 借记卡 | 62134624 | 8 | 19 | 15142054 |
鄂尔多斯市铁西蒙银村镇银行 | 鄂尔多斯市铁西蒙银村镇银行 | 蒙银借记卡 | 借记卡 | 62134611 | 8 | 19 | 15142051 |
四子王蒙银村镇银行 | 四子王蒙银村镇银行 | 蒙银借记卡 | 借记卡 | 62134613 | 8 | 19 | 15142046 |
那么如何根据银行卡号查询具体的卡信息呢?
最开始的想法是截图卡号前6位,并限制卡长度进行查询,若返回结果不是只有一条则继续截取前7位进行查询,直到只有一条返回结果。若有2条及以上结果时,继续查询却有0条记录,则认为未收录该卡bin数据。即递归查询。假设卡号为6213462465616156,参考sql如下
select * from bank_card_binwhere '6213462465616156' like '621346%' and 长度 = '19'
但是,这太麻烦了,怎么可能呢?在同事沟通确认,可以做些变更,如下
select * from bank_card_binwhere '6213462465616156' like concat(卡bin,'%') and 长度 = '19'
巧妙地将前一个sql拆成了两段,且卡bin不是由用户自己判断截取的,是做匹配。
同时,此sql利用了"卡bin是唯一"的特性,不存在包含关系,即不存在以下的记录,
***银行 | **银行 | 蒙银借记卡 | 借记卡 | 621346 | 6 | 19 | 1514204 |
银行
借记卡
村镇
长度
查询
卡号
结果
不同
代表
只有
数字
数据
的卡
王蒙
磴口
乌拉
乌拉特中旗
鄂尔多斯市
鄂托
鄂托克前旗
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
hmcl进服务器显示无效会话
吴忠软件开发销售电话
越秀区网络安全
上海游学网络技术有限公司
网络安全协议工程师
地图类软件开发
如何获得seer数据库
广西服务器机箱机柜报价
服务器管理功能是什么
黑客反兴奋剂数据库
大众点评数据库下载
中海油网络安全部门
软件自动化部署软件开发
福建态势推演系统软件开发
数据库定制开发
网络技术有利的辩论
阿里云系统服务器多少钱
安卓服务器的接口怎么使用
出库数据库信息
医院服务器架构
网络安全支委会
数据库应用与数据分析
app开发使用什么数据库
企业网络安全画报.doc
ES数据库版本有哪些
服务器切换ssl 无法访问
大数据服务器宕机原因
软件开发实训心得
数据库招聘管理系统
大兴机场软件开发