我正在使用SQL,并需要使用正则表达式检查一个字符串是否包含某个子字符串。允许大小写字母和空格。
目前,我的代码如下:
Where description = '/^[a-zA-Z\s]mysubstring[a-zA-Z\s]$/'
但是它似乎无法正常工作。有什么想法吗?
REGEXP
操作符。此外,它不支持\s
和其他速记类,您需要用 [:space:]
POSIX字符类来代替。REGEXP
会执行不区分大小写的正则表达式检查,但是如果您有非标准选项,仍然可以使用[A-Za-z]
。WHERE description REGEXP '^[a-zA-Z[:space:]]*mysubstring[a-zA-Z[:space:]]*$'
LIKE
。WHERE description LIKE '%mysubstring%'
WHERE description REGEXP '^[[:alpha:][:space:]]*mysubstring[[:alpha:][:space:]]*$'
。 - Wiktor StribiżewWHERE description LIKE '%mysubstring%'
将找到可能包含更多内容而不仅仅是字母和空格的条目。Ke Zhang,请检查哪种方法最适合您。 - Wiktor Stribiżew