0

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

在那个领域我有这样的记录:

123456789
123 456 789
12345 5678
787878787
144444444

我只想搜索没有任何空间的记录,因此查询会给出结果:

123456789
787878787
144444444

那么应该查询什么?

4

3 回答 3

7

LIKE 和 NOT LIKE的 MySQL 文档

SELECT * FROM abc WHERE phone_number NOT LIKE '% %';

这将显示输出为:

phone_number
-----------
123456789
787878787
144444444

这是上述查询和表脚本的SQLFiddle

于 2013-08-17T09:48:10.507 回答
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

没有一个不是索引友好的思想......

于 2013-08-17T09:50:29.223 回答
0
SELECT * FROM myTable WHERE col REGEXP '[0-9]+';
于 2013-08-17T09:50:36.017 回答