mysql 查询身份证号字段值有效的数据

表中身份证号字段中的值有的是无效的,怎么查询出身份证号填写有效的信息?谢谢

阅读 5.5k
2 个回答

正则表达式:

身份证的正则:\d{6}(18|19|20)\d{2}(0[1-9]|1[120])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)
mysql下的正则:

select * 
from table 
where identity regexp '[[:digit:]]{6}(18|19|20)[[:digit:]]{2}(0[1-9]|1[120])(0[1-9]|[12][[:digit:]]|3[01])[[:digit:]]{3}([[:digit:]]|X)'

select * from 表 where list regexp '^[0-9]{18}$'

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题