0

データベース担当者ではありませんが、継承した mySql データベースのデータを混同してしまいました。

一部の電話番号はフォーマットさ (512) 555-1212 れています (ダーティと呼びます) その他 5125551212 (クリーンと呼びます)

私は言うsqlstametが必要です

UPDATE table_name
SET Phone="clean'(Some sort of cleaning code  -  regex?)
WHERE Phone='Dirty'
4

2 に答える 2

0

私の知る限り、更新プロセス中に正規表現を実行してデータを置き換えることはできません。SELECT ステートメントの間のみ。

最善の策は、使い慣れたスクリプト言語を使用して表を読み、そのように変更することです。基本的に、すべてのエントリを取得します。次に、文字列置換を使用して、次のような単純な正規表現に一致させ、[^\d]*それらの文字を削除します。次に、テーブルを新しい値で更新します。

また、次の回答も参照してください: MySQL で正規表現を置き換えるにはどうすればよいですか?

于 2013-05-17T21:09:04.890 に答える