MySQL Replace()函數

在本教學中,我們將向您展示如何使用MySQL字串REPLACE()函數在字串中替換另一個子字串。

MySQL REPLACE字串函數簡介

MySQL為您提供了一個有用的字串函數REPLACE(),它允許您用新的字串替換表的列中的字串。

REPLACE()函數的語法如下:

REPLACE(str,old_string,new_string);

REPLACE()函數有三個參數,它將string中的old_string替換為new_string字串。

注意: 有一個也叫作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字串函數示例

例如,如果要更正示例資料庫(zaixiandb)中的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


上一篇: MySQL函數 下一篇: MySQL+Node.js連接和操作