SELECT ProductNumber, Name, ListPrice
FROM SalesLT.Product
WHERE ProductNumber LIKE 'BK-[^R]%-[0-9][0-9]';'BK-M47B-38'
我想要的产品是:
start with 'BK-' followed by any character otherthan 'R', and ends with a '-' followed by any two numerals
。上面是
ms-sql
查询,我想要此查询的mysql版本productNumber如下所示:
'BK-M47B-40'
'BK-M82B-44'
'FR-R38B-60'
'ST-9828'
最佳答案
等效的正则表达式非常相似:
SELECT ProductNumber, Name, ListPrice
FROM SalesLT.Product
WHERE ProductNumber REGEXP '^BK[-][^R].*[-][0-9]{2}$'
主要区别:
^
和$
标记字符串的开头和结尾(否则,正则表达式匹配字符串中的任何位置。%
-> .*
{2}是可选的,但在正则表达式中口语化,以重复模式。注意:您也可以使用
[:digit]
,但是键入的时间更长。我忘记了连字符是否是特殊字符,因此我将其放在方括号中。
关于mysql - 在MySQL中使用正则表达式的MySQL查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33582974/