我尝试找到与以下内容匹配的字符串
989X1[OPTIONAL[a-z]]
这是我尝试过的:
... where x LIKE '989X1[a-z]?'
... where x LIKE '989X1[a-z]'
但第一个查询也匹配“
989X10a
”,没有可选字符串,另一个不匹配
989X1
。亲切的问候
哈森
最佳答案
使用LIKE
最接近的方法是使用下划线:
where x = '989X1' OR x LIKE '989X1_'
但这将匹配任何单个字符,而不仅仅是字母。相反,您可以通过
REGEXP
更加接近:where x REGEXP '989X1[a-z]?' -- or REGEXP '^989X1[a-z]?$' for an exact match
即使使用
REGEXP
也不准确,因为REGEXP
不区分大小写,因此范围也是如此。关于mysql - SQL查找字符串加选项char,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45009400/