MySQLでデータの一部分から特定の文字列を見つけて別の文字列に一括して返還したい場合には、「REPLACE関数」を使う。
簡単だけど、一応覚書しておく。
スポンサードリンク


例えば、テーブル"t"のテキストフィールド"f1"に保存されているデータの中から"TEST"という文字列を見つけて、それを"テスト"に変更したい場合の記述は以下のようになる。

update t set f1 = replace(f1,'TEST','テスト')

ここで使われている「REPLACE関数」の構文は以下のとおり。

REPLACE(str,from_str,to_str)

"str"は、対象となるフィールド、"from_str"は、置換したい文字列、"to_str"は、置換後の文字列。
ちなみに、大文字小文字が区別されるため、replace(f1,'TEST','テスト') とした場合、"TEST"だけが置換され、"test"は、そのまま置換されずに残ってしまうので注意が必要。
詳しくは、MySQLのリファレンス「11.3. 文字列関数」を参照。

それから、必ず更新前に結果がどうなるかは確認すること。
以下のようなSELECT文を発行すれば、置換後のデータが簡単に確認できる。

SELECT f1,replace(f1,'TEST','テスト') as after_f1 FROM t
スポンサードリンク

  

関連記事

 カテゴリ