mysql正则匹配某字段是否为手机号
标签:mysql正则
有张用户表,由于历史原因有些用户名是用户自己定义的,这就有用户拿自己手机号做用户名。要查询出这些用户就是用正则匹配查询出来。如下:
SELECT * FROM `dt_users` WHERE `user_name` REGEXP "^[1][35678][0-9]{9}$" ORDER BY `reg_time` DESC ;
还有一种含有手机号的情况:
SELECT * FROM `dt_users` WHERE `user_name` REGEXP ".[1][35678][0-9]{9}." ORDER BY `reg_time` DESC;( . 的意思是所有字符)
顺带把这些用户名用手机号的在其前面加个字符:
UPDATE `dt_users` set `user_name` = concat('00',`user_name`) WHERE `user_name` REGEXP "^[1][35678][0-9]{9}$";
2019年12月20日 上午12:03 沙发
范德萨发达
