在mysql中选择非字母记录

时间:2013-06-01 06:30:06

标签: mysql select

我想选择标题不以a-z或0-9字符开头的记录。

一种方法是:

SELECT * FROM table WHERE title NOT LIKE 'a%' AND... title NOT LIKE 'z%' ....

有更好的方法吗?

2 个答案:

答案 0 :(得分:7)

您可以使用正则表达式:

select *
from table
where title regexp '^[^a-z0-9]'

顺便说一句,第一个^匹配字符串的开头。第二个是对[]之间模式中的字符的否定。

答案 1 :(得分:2)

另一种选择:

SELECT *
FROM table
WHERE (LEFT(table, 1) NOT BETWEEN 'a' AND 'z')
    AND (LEFT(table, 1) NOT BETWEEN '0' and '1')