在abc表中我有电话号码字段。
在该领域,我有以下记录:
123456789
123 456 789
12345 5678
787878787
144444444
我想只搜索没有任何空格的记录,以便查询给出结果:
123456789
787878787
144444444
那应该查询什么?
答案 0 :(得分:7)
SELECT * FROM abc WHERE phone_number NOT LIKE '% %';
这将输出显示为:
phone_number
-----------
123456789
787878787
144444444
以上是上述查询和表脚本的SQLFiddle
答案 1 :(得分:3)
如果您只需要来自任意字符串列的“仅数字”值,则可能使用MySQL正则表达式:
select * from tbl where col_name REGEXP '^[0-9]+$'
如果您完全确定您的列只包含数字或空格:
select * from abc where col_name not like '% %'
或
select * from abc where LOCATE(' ', col_name) = 0
没有不索引友好的想法......
答案 2 :(得分:0)
SELECT * FROM myTable WHERE col REGEXP '[0-9]+';