mysql 查询过滤身份证合格的数据
要查询过滤身份证合格的数据,可以使用MySQL的正则表达式功能来进行筛选。假设身份证号码的字段名为"IDCard",以下是一个示例查询语句:
SELECT * FROM your_table
WHERE IDCard REGEXP '^[1-9]\\d{5}(18|19|20)\\d{2}(0\\d|10|11|12)(0\\d|1\\d|2\\d|30|31)\\d{3}[0-9Xx]$';
这个正则表达式可以用来匹配符合中国居民身份证号码规则的字符串。如果要查询的表名为"your_table",将查询结果中的"your_table"替换为实际的表名即可。
这个正则表达式的解释如下:
- ^ 表示匹配字符串的开头
- [1-9] 表示匹配第一位非零数字
- \d{5} 表示匹配后面的5位数字
- (18|19|20) 表示匹配年份的前两位,可以是18、19或20
- \d{2} 表示匹配年份的后两位
- (0\d|10|11|12) 表示匹配月份,可以是01到12
- (0\d|1\d|2\d|30|31) 表示匹配日期,可以是01到31
- \d{3} 表示匹配后面的3位数字
- [0-9Xx] 表示匹配最后一位数字或字母X或x
- $ 表示匹配字符串的结尾
这个正则表达式可以根据实际情况进行调整,以满足特定的身份证号码规则
原文地址: https://www.cveoy.top/t/topic/hBM8 著作权归作者所有。请勿转载和采集!