mysql中判断一个字段是否为纯数字

今天线上,某些数据的行政区划展示成数字了,应该是这个字段存了中文的名字而不是行政区划代码

需求:查出表中某个字段不是纯数字,因为行政区划代码是纯数字,哪怕有一个汉字都是有问题

# 不为纯数字
select * from enr_base_info where (ori_school_province regexp '[^0-9.]')=1 limit 10;

顺带其他两种用法

# 纯数字
select * from enr_base_info where (ori_school_province regexp '[^0-9.]')=0 limit 10;

# 不包含数字(包括null)
select * from enr_base_info where ori_school_province not regexp '[0-9]+' limit 10;

还收获了意外发现,行政区划为空,不知道是哪个宝贝存的

posted @ 2023-02-13 15:28  西红柿炒小番茄  阅读(408)  评论(0)    收藏  举报