卡bin:卡号的前6位数字代表发卡行标识代码,也叫BIN号,不同的BIN号代表了不同的银行卡组织和卡片级别。

最近更新了系统的卡bin表数据(bank_card_bin),发现卡bin长度并不是前述的6位数字,卡bin长度为8位(有些6位、有些7位,非定长),如下表,

支行行名称卡名卡类型卡bin卡bin长度长度组织码

乌拉特中旗蒙银村镇银行乌拉特中旗蒙银村镇银行蒙银借记卡借记卡6213460781915142075

磴口蒙银村镇银行磴口蒙银村镇银行蒙银借记卡借记卡6213462681915142073

鄂托克前旗蒙银村镇银行鄂托克前旗蒙银村镇银行蒙银借记卡借记卡6213462481915142054

鄂尔多斯市铁西蒙银村镇银行鄂尔多斯市铁西蒙银村镇银行蒙银借记卡借记卡6213461181915142051

四子王蒙银村镇银行四子王蒙银村镇银行蒙银借记卡借记卡6213461381915142046

那么如何根据银行卡号查询具体的卡信息呢?

最开始的想法是截图卡号前6位,并限制卡长度进行查询,若返回结果不是只有一条则继续截取前7位进行查询,直到只有一条返回结果。若有2条及以上结果时,继续查询却有0条记录,则认为未收录该卡bin数据。即递归查询。假设卡号为6213462465616156,参考sql如下select * from bank_card_bin

where  '6213462465616156'  like '621346%' and  长度 = '19'

但是,这太麻烦了,怎么可能呢?在同事沟通确认,可以做些变更,如下select * from bank_card_bin

where '6213462465616156' like concat(卡bin,'%') and  长度 = '19'

巧妙地将前一个sql拆成了两段,且卡bin不是由用户自己判断截取的,是做匹配。

同时,此sql利用了“卡bin是唯一”的特性,不存在包含关系,即不存在以下的记录,***银行**银行蒙银借记卡借记卡6213466191514204

mysql 银行卡卡号长度_卡bin查询sql分享相关推荐

  1. 学习Opencv+Python之银行卡卡号识别

    学习Opencv+Python之银行卡卡号识别 思路: 获取模板轮廓 获取模板中每个数字的轮廓 获取银行卡卡号轮廓 分别提取卡号中的每个数字的轮廓 对比识别 代码: # 导入工具包 from imut ...

  2. Python+OpenCV 识别银行卡卡号

    Python+OpenCV 识别银行卡卡号 今天尝试一下用python+OpenCV,使用模板匹配的方式做个简单地识别银行卡卡号(大部分参考网上的,自己改了一部分,代码写的有点不太好,但是思路很清晰, ...

  3. 银行卡卡号格式规范 每隔4为一个空格

    最近涉及到一个绑定银行卡的需求,需要格式化银行卡卡号.即:每隔4为做一个空格. 一个很简单的功能,大牛请自动忽略... 做个笔记O(∩_∩)O哈! bankCardNoEditTxt.addTextC ...

  4. 基于Python的Opencv 自动识别银行卡卡号系统

    一. 摘要 此应用功能为自动识别并获取银行卡卡号,通过导入需要识别的银行卡图片,以及跟银行卡上卡号的数字相一致的数字模型,则可以成功实现识别并获取银行卡卡号的功能.如果你对此感兴趣的话,下面将会详细介 ...

  5. 银联银行卡卡号java_编写Java程序,使用单例模式,创建可以生成银联借记卡号的工具类...

    编写Java程序,使用单例模式,创建可以生成银联借记卡号的工具类 编写Java程序,使用单例模式,创建可以生成银联借记卡号的工具类,银联借记卡号是一个 19 位的数字,卡号以"62" ...

  6. 前端JS校验银行卡卡号和身份证号码(附ES6版方法)

    1.银行卡卡号校验方法. function luhnCheck(bankno) { var lastNum = bankno.substr(bankno.length - 1, 1); //取出最后一 ...

  7. 银行卡三元素检测 根据姓名+身份证号+银行卡卡号验证信息是否匹配

    银行卡检测api,根据姓名+身份证号+银行卡卡号验证信息是否匹配. 接口名称:银行卡检测api 接口平台:聚合数据 接口地址:http://v.juhe.cn/verifybankcard3/quer ...

  8. appium使用sendkeys输入银行卡卡号(每4个数字自动空一格)总是输入不正确的解决办法

    appium使用sendkeys输入银行卡卡号(每4个数字自动空一格)总是输入不正确的解决办法 方法一: public static void inputComsumeInfo(WebElement ...

  9. 什么软件可以查手机卡的imsi_手机SIM卡卡号和IMSI码怎么查询

    SIM卡是通过批量刷卡机刷出来的,里面只有IMSI号,没有手记号的,普通的手机号在计费时没有任何用处,只有在帐务结算付费时才有用,这两个号只有到交换机才能查出配对,别的地方没地查,更别说有规律了,下面 ...

  10. 根据银行卡卡号判断银行

    根据银行卡号判断是哪个银行的卡,依据是银行卡号的前6位数,称之为bin号. 我们把bin号转化为长整形,再把各个银行卡的bin号做成有序表.通过二分查找的方法,找到bin号在有序表的位置,然后读出银行 ...

最新文章

  1. python 是什么类型的语言-python是一种什么类型的语言
  2. android 阴影背景显示文字_公众号排版如何做出“果冻”文字效果?
  3. SQL Server -- SQLserver 存储过程执行错误记录到表
  4. 用C语言设置程序开机自启动
  5. 根据注释生成项目文档
  6. python查找文件并重命名_python实现遍历文件夹图片并重命名
  7. jenkins修改pom文件_jenkins参数化配置,pom.xml配置
  8. 用户体验的13条金科玉律
  9. ProGuard:保留包名,混淆类
  10. webview android%3e28,Android WebView 文明踩坑之路
  11. AUTOCAD——三种箭头的画法
  12. 首开先河 | 脑机接口让这位ALS患者可读可写
  13. pxe网络安装服务器的部署
  14. 华为HG8245光纤猫路由设置
  15. 计算机位置不可用d 桌面,win7系统D: 文档desktop引用了一个不可用的位置怎么办...
  16. [前端]-- jquery学习1
  17. 苹果蓝牙耳机怎么接电话_除了苹果AirPods,真无线蓝牙耳机到底怎么选?
  18. 预制菜顶流信良记,小龙虾的生意经难念
  19. JS的严格模式和标准模式
  20. 大搜车面试总结 (应届生实习生)

热门文章

  1. Arcgis制作行政区划矢量文件(shp格式)
  2. 任意角度旋转图片(python)
  3. 运放的噪声分析--你好放大器
  4. python实现水仙花数
  5. android省市区三级联动,NumberPicker实现省市区三级联动的效果
  6. mysql jsp省市区三级联动_用jsp实现省市区三级联动下拉
  7. 2021大厂Java面试真题(分布式 )
  8. 蓝桥杯历届真题题目+解析+代码+答案(2013-2020)(JavaA、B、C组)(C++语言)(Python)
  9. java网络爬虫视频教程下载
  10. TestBench基本写法与语法详解