MySQL Replace()関数

1595 ワード

MySQL Replace()関数から転載
MySQL REPLACE文字列関数の概要
MySQLでは、テーブルのカラムの文字列を新しい文字列で置き換えるための有用な文字列関数REPLACE()が用意されています.REPLACE()関数の構文は次のとおりです.
REPLACE(str,old_string,new_string);
REPLACE()関数には、stringold_stringnew_string文字列に置き換える3つのパラメータがあります.
注意:データの挿入または更新には、REPLACEとも呼ばれる文があります.したがって、REPLACE文をここのREPLACE文字列関数と混同しないでください.REPLACE()関数は、古いURLの更新、スペルミスの修正など、テーブル内のテキストの検索と置換を容易にします.
UPDATE文で使用されるREPLACE関数の構文は次のとおりです.
UPDATE tbl_name 
SET 
    field_name = REPLACE(field_name,
        string_to_find,
        string_to_replace)
WHERE
    conditions;

置換するテキストを検索する場合、MySQLは大文字と小文字の区別マッチングを使用して置換する文字列の検索を実行することに注意してください.
MySQL REPLACE文字列関数の例
たとえば、サンプル・データベース(yibaidb)のproducts表のスペル・エラーを修正する場合は、次のようにREPLACE関数を使用します.
UPDATE products 
SET 
    productDescription = REPLACE(productDescription,
        'abuot',
        'about');

クエリは、abuotというすべてのスペルエラーを検索し、products表のproductDescription列で正しい単語を使用して置き換えます.
重要なことに、REPLACE関数では、最初のパラメータは引用符なし(")のカラム名である.引用符で囲まれた"field_name"のようなフィールド名の場合、クエリはカラムの内容を"field_name"に更新し、予期せぬデータ損失を招きます.REPLACE関数は正規表現をサポートしていません.したがって、外部ライブラリでMySQLユーザー定義関数(UDF)を使用する必要があるモードでテキスト文字列を置き換える必要がある場合は、MySQL UDFを参照してください.http://launchpad.net/mysql/udf-regexp