SQL查找字符串加上选项char

时间:2017-07-10 10:14:18

标签: mysql sql

我尝试找到与以下

匹配的字符串
989X1[OPTIONAL[a-z]]

我试过这个:

... where x LIKE '989X1[a-z]?'
... where x LIKE '989X1[a-z]'

但第一个查询也匹配“989X10a”, 如果没有可选字符串,则另一个不匹配989X1

亲切的问候 F哈姆森

1 个答案:

答案 0 :(得分:2)

使用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也不准确,因为{{1}}不区分大小写,因此范围也是如此。