MySQL:检查第一个字符是否为_not_ua-Z

MySQL:检查第一个字符是否为_not_ua-Z,mysql,Mysql,我必须创建一个SQL查询来获取所有以特定字符开头的行,除非传递给(PHP)函数的参数为0,否则它应该获取所有不以-Z开头的行(如#0-9.,$等) 获取这些行的最简单和最快的方法是什么 DB:MySQL 5.1 专栏:标题 SELECT * FROM mytable WHERE title NOT RLIKE '^[A-Z]' 解释: 对于RLIKE谓词,括号内的模式表示括号内列出的任何一个字符(允许使用破折号表示范围,如这里所示,a-Z是“a到Z”)。 注意这两个^字符;它们有非

我必须创建一个SQL查询来获取所有以特定字符开头的行,除非传递给(PHP)函数的参数为0,否则它应该获取所有不以-Z开头的行(如#0-9.,$等)

获取这些行的最简单和最快的方法是什么

DB:MySQL 5.1
专栏:标题

SELECT  *
FROM    mytable
WHERE   title NOT RLIKE '^[A-Z]'
解释
对于RLIKE谓词,括号内的模式表示括号内列出的任何一个字符(允许使用破折号表示范围,如这里所示,a-Z是“a到Z”)。
注意这两个^字符;它们有非常明确的含义:
第一个代表“字符串的开头”
括号内的另一个“^”字符表示图案应与其后括号内列表中未列出的任何字符匹配。
有关更多详细信息,请参阅

也可以按如下方式书写

...
WHERE theColumn NOT RLIKE '^[A-Z]'

警告一句:与括号内的语法无关,上面显示的模式都使用“前端通配符”,只能通过表/索引扫描(或至少部分扫描)进行处理,对于较大的表,这可能会相对低效。

在正则表达式中,
%
不是一个wildcard@Quassnoi:接得好。我混合了LIKE和RLIKE语法。。。现在都修好了。
...
WHERE theColumn NOT RLIKE '^[A-Z]'