MySql 查询字符串里的身份证号码

2019-01-23 18:16:47 +08:00
 wudixiaomianyang

现在数据库有个字段存的值长这样: "BALABALA 张三的身份证号是 123456789123456789", 需要把这个字段里的身份证号码提出来,问下大佬们有没有什么思路。小弟感激不尽啦

3671 次点击
所在节点    MySQL
3 条回复
mayorbryant
2019-01-23 18:38:37 +08:00
SELECT RIGHT(field, 18) AS id_card_no FROM `one_table`

SELECT SUBSTRING_INDEX(field, '身份证号是 ', -1) AS id_card_no FROM `one_table`

不推荐这种操作,如果可以的话放在 SELECT 之后处理
CheungChingYin
2019-01-23 18:40:29 +08:00
先取出来,然后用正则匹配 18 位数字应该可以
umbrellakkk
2019-01-24 06:53:48 +08:00
不好办,身份证的最后一位有可能是 x。不能用数字匹配。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/529916

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX