我需要获取包含cooking spray
的所有记录,但前提是它不在引号中:
cooking spray > 1
'cooking spray' > 0
"cooking spray" > 0
我只是在计算REGEXP时遇到问题。这似乎很接近,但我收到一条消息,说“重复运算符操作数无效”。
select count(*)
from recipes r
where r.ingredient REGEXP '(?<![\'"])cooking spray(?![\'"])'
最佳答案
您可以改用这个REGEXP
值:
SELECT COUNT(*)
FROM recipes r
WHERE r.ingredient REGEXP '(^|[^\'"])cooking spray([^\'"]|$)'
编辑:
在Patrick Q comment之后,我编辑了regex以匹配:
cooking spray
foo cooking spray
cooking spray bar
foo cooking spray bar
关于mysql - MySQL查询以匹配未加引号的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24811246/