在本教學中,我們將向您展示如何使用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連接和操作