sql正则匹配身份证号
时间: 2023-10-21 12:05:04 浏览: 272
正则表达式校验身份证号码
5星 · 资源好评率100%
可以使用MySQL的正则表达式函数REGEXP来匹配身份证号。身份证号的正则表达式可以参考以下代码:
```
SELECT * FROM table_name WHERE id_number REGEXP '^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[\\dX]$';
```
其中,id_number为身份证号所在的列名,正则表达式中的^表示匹配字符串的开头,$表示匹配字符串的结尾,[1-9]\\d{5}表示前6位为非零数字,(18|19|20)\\d{2}表示年份为18、19或20开头的4位数字,(0[1-9]|1[0-2])表示月份为01到12之间的2位数字,(0[1-9]|[12]\\d|3[01])表示日期为01到31之间的2位数字,\\d{3}表示后面3位为任意数字,[\\dX]表示最后一位为数字或者大写字母X。
阅读全文