mysql如何获得字段中包含身份证的所有数据

我应该如何写sql能查到字段中包含身份证的所有数据呢?
比如字段名为content,里面的数据可能是 一大段文章,里面插了一个身份证号码。
 例如:我的名字叫小明,我的身份证号是110101199003070310,我喜欢唱跳rap。
 应该怎么写sql,来获得所有包含身份证的数据呢?
 查了下,只知道怎么匹配正则。但是身份证前后有若干数据的情况下怎么获得呢?
 求指点,谢谢。

阅读 4.9k
4 个回答

只有不设定^$,对正则表达式来说,前后有没有数据没有关系的。

like一下吧
在数据库操作上搞复杂计算,小孩子过家家呢

最好数据查出来过滤

mysql 的 regexp 可以使用正则表达式
content regexp '^.*(\\d{18}|\\d{15}|\\d{17}X).*$'

最好不要这样操作,会严重影响sql的性能

推荐问题