2

我正在尝试更新我的产品数据库并在简化某些产品编号后查找重复项。

这是我正在尝试但不起作用的方法:

SELECT b.Id as OLDID, c.Id as NEWID
FROM productdata b, productdata c
WHERE b.ProdNum REGEXP CONCAT('^', c.ProdNum, '(\-|\s)[a-zA-Z0-9]+(\-|\s)[a-zA-Z0-9]+')

旧货号:WR-101 3 Day(还有WR-101 1 Day等)

新产品编号:WR-101

所以基本上我需要一个 where 子句,它将新产品编号与带有“1 天”、“3 天”等的旧产品编号相匹配。

谢谢你的帮助。

4

1 回答 1

3

MySQL 的正则表达式不支持\s空格。你需要使用[[:space:]]. 您也不需要转义破折号:

(-|[[:space:]])[a-zA-Z0-9]+(-|[[:space:]])[a-zA-Z0-9]+
于 2013-03-06T00:08:56.913 回答