- 2007年6月 1日 19:38
- PHP
MySQLで特定の文字列を全レコード一気に置換する方法。
今まで、PHPやPerlでレコードを取得して、スクリプトで置換して UPDATE していたけど、実はMySQLだけで一気に置換ができることが判明。
文字列置換関数
MySQLに限らずDBには色々な便利関数があるが、あんまり活用していなかった。ので、こんな基本的な関数も知らなかった。というか想像も付かなかった。バカだ。
REPLACE(str,from_str,to_str)
文字列 str に含まれる文字列 from_str をすべて文字列 to_str に置換した文字列を返す関数。
REPLACE()を使って一気に置換してみた
たったの1クエリで。
UPDATE `text_replace` SET text1=REPLACE (text1,"置換したい","されちった");
カラムtext1の中に「置換したい」という文字列があった場合、「されちった」に置き換えて UPDATE する。
マルチバイトにも対応しているので日本語環境でも安心。今度からはMySQLの関数も活用してみよう。
- Newer: MySQLとPostgreSQLの日付フォーマットの違い
- Older: アップロードした写真をゲームにするサービスを試してみた
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- http://blog.tofu-kun.org/mt-tb.cgi/328
- Listed below are links to weblogs that reference
- MySQLだけで文字列を一括置換する from Webプログラマー+WebデザイナーなZARU日記