【发布时间】:2013-01-23 08:27:31
【问题描述】:
我正在尝试在 mysql 中提出一个正则表达式,它会搜索以字母开头的列。到目前为止,我想出了这个不起作用
SELECT * FROM table WHERE column LIKE REGEXP '[A-Za-z]%'
有什么帮助吗?
【问题讨论】:
我正在尝试在 mysql 中提出一个正则表达式,它会搜索以字母开头的列。到目前为止,我想出了这个不起作用
SELECT * FROM table WHERE column LIKE REGEXP '[A-Za-z]%'
有什么帮助吗?
【问题讨论】:
SELECT * FROM table WHERE column REGEXP '^[A-Za-z]'
【讨论】:
SELECT * FROM your_table_name WHERE your_column_name REGEXP '^[a-z]'
【讨论】:
你很接近:
'^[A-Za-z]'
您正在处理正则表达式,因此暂时忘记了正常的 SQL 模式匹配语法。
查看this page 了解更多关于正则表达式的信息。
由于 REGEXP 不区分大小写,除非与二进制字符串一起使用,因此您可以指定 [a-z] 或 [A-Z]。
如果您不希望它以某个字符开头,则可以使用否定字符类 [^characters],但请注意,其他未指定的所有内容都将匹配。
'^[^A-Za-z]'
【讨论】:
试试这个。
SELECT * FROM table WHERE column LIKE REGEXP '([A-Z]|[a-z])+%'
【讨论】:
SELECT * FROM user WHERE password REGEXP '^[a-zA-w]'
【讨论】:
A-w?这将导致Z 和a 之间的一些非字母匹配。