我正在尝试执行此操作,但它会抛出错误。有人可以帮忙吗?
SELECT * FROM `country` WHERE name regex '^ab$';
1064 - 您的SQL语法出错;查看与MySQL服务器版本对应的手册,以便在第1行'regex'^ ab $'LIMIT 0,30'附近使用正确的语法
我的座右铭是在用户时获得“美国”记录 搜索任何短语,如
美国/美国/州联合/美国联合/美国各州任何人都可以告诉我如何为此要求编写正则表达式。
SELECT * FROM `country` WHERE name regex '^united states$';
但是Like
与
SELECT * FROM `country` WHERE name like '%ab%';
非常感谢任何帮助。
答案 0 :(得分:3)
尝试使用REGEXP
代替REGEX
... ;)
答案 1 :(得分:2)
除了sp00m注意到的内容之外,相当确定你的正则表达式不是你想要的。 ^
和$
分别匹配行的开头和结尾,因此使用这些正则表达式:
^ab$
^united states$
有效地寻找“ab”和“美国”的完全匹配。如果您要查找等同于like '%ab%'
的查询,请删除行尾的字符,您的正则表达式只是:
ab
我确实想知道使用LIKE '%ab%'
有什么问题。似乎更典型的方法。
然而,这两个选项都不会使正则表达式united states
或^united states$
或使用类似的匹配“美国联合”但