0
我想选择其标题不以a-z或0-9字符开头的记录。要做到这一点在mysql中选择非字母记录
一种方法是:
SELECT * FROM table WHERE title NOT LIKE 'a%' AND... title NOT LIKE 'z%' ....
有没有更好的方式来做到这一点?
我想选择其标题不以a-z或0-9字符开头的记录。要做到这一点在mysql中选择非字母记录
一种方法是:
SELECT * FROM table WHERE title NOT LIKE 'a%' AND... title NOT LIKE 'z%' ....
有没有更好的方式来做到这一点?
您可以使用正则表达式:
select *
from table
where title regexp '^[^a-z0-9]'
顺便说一句,第一^
字符串的开头匹配。第二种是在[
和]
之间的模式中的字符的否定。
另一种选择:
SELECT *
FROM table
WHERE (LEFT(table, 1) NOT BETWEEN 'a' AND 'z')
AND (LEFT(table, 1) NOT BETWEEN '0' and '1')
+1有趣的解决方案,但也有一些错别字。它应该是LEFT(fieldName,1)以及BETWEEN'0'和'9'。 – ankurtr