どのように私はMySQLで重複したテキスト値を置き換えることができますか?

マイケル・オーウェン:

私は私のコラムの一つに発見した重複したテキスト値を置き換えるためにいくつかの助けを探しています。私は私のDATA_FILE「中小企業のための明確なリストを提供するために、次のコードを実行すると、私はこの結果を得ます:

SELECT DISTINCT Data_Source from master_table WHERE Data_File LIKE '%Sme%';

出力

Data_File
Sme
Sme
Sme

私は、それらすべてを交換するには、次の更新クエリを実行しました:

UPDATE master_table SET Data_File = REPLACE(Data_File, 'Sme', 'SME') WHERE Data_File LIKE '%Sme%';

これは、一致するすべての行と、私はその後、私の元のクエリを実行すると、私は唯一の1つの値を取得するために期待していたが、私は、次の取得それらすべてを置き換えますが。

SELECT DISTINCT Data_Source from master_table WHERE Data_File LIKE '%SME%';

出力

Data_File
SME
SME
SME

私はこれが私の1つの値を与え、重複を排除しているだろうと思っているだろうと必ずどこで間違ったのつもりではありません。

何かアドバイスは本当にいただければ幸いです。

ヴィシャル・シャルマ:

私はあなたが列の値に空白文字を追加することで言及したケースを再現することができます。私はまた、その場合の重複をのみ、それ以外はない見ることができています。

クエリを置き換える行う際の問題は、あなただけの別のパターンによって一つのパターンを交換するされ、そのまま他のすべての文字が残っています。あなたにも列値の長さを印刷することができれば、あなたはそこに違いを見つける必要があります。

選択クエリでは、個別の句の後トリム()関数を使用しようとすることができます。それはあなたの期待される結果を与える必要があります。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=28738&siteId=1
おすすめ