如何找到没有空格的连续字符串或数字?

时间:2013-08-17 09:44:51

标签: mysql

在abc表中我有电话号码字段。

在该领域,我有以下记录:

123456789
123 456 789
12345 5678
787878787
144444444

我想只搜索没有任何空格的记录,以便查询给出结果:

123456789
787878787
144444444

那应该查询什么?

3 个答案:

答案 0 :(得分:7)

LIKE and NOT LIKE

的MySQL文档
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]+';