我在字段名称下的数据库中有这些值:username
和表名:users
... | username | ...
--------------------------
| a651378 |
| b3789 |
| c3125621903 |
| d32168 |
| e789532 |
| f41589964312 |
例如,如何选择号码长度大于6位的用户名
如上所述,查询应该返回
... | username | ...
--------------------------
| c3125621903 |
| f41589964312 |
答案 0 :(得分:4)
答案 1 :(得分:0)
假设你不知道字符部分有多长,你可以使用正则表达式:
select u.*
from users u
where u.username regexp '^.*[0-9]{7}.*$';
实际上,这可以简化为:
select u.*
from users u
where u.username regexp '[0-9]{7}';
使用正则表达式时,我只是要小心。 LIKE
个模式匹配整个字符串(从开头到结尾)。 REGEXP
个模式在字符串中匹配。