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デイ(同じくWR-101 1デイ等)

新商品番号:WR-101

したがって、基本的には、新しい製品番号と「1 日」、「3 日」などの古い製品番号を一致させる where 句が必要です。

ご協力いただきありがとうございます。

4

1 に答える 1

3

MySQL の正規表現は\sスペースをサポートしていません。を使用する必要があります[[:space:]]。ダッシュをエスケープする必要もありません。

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