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/

10-11 02:50