如問題所言,替換某字段中的特定字符串。在MySQL提供了一個非常實用的字符串函數——REPLACE()函數,它允許用新的字符串替換字段中的特定字符串,能夠幫助我們非常方便的替換字段中的文本,比如更新失效的URL,糾正拼寫錯誤等。
REPLACE函數語法
REPLACE函數中有三個參數,
如上,url_information表中Tony的url鏈接信息已經失效,我們需要將Tony的url中的"mp"字符串替換為"www"字符串,在UPDATE語句中使用REPLACE()函數的語法如下:
上述SQL執行結果如下:
注意:當搜索要替換的文本時,MySQL使用區分大小寫匹配來執行要替換的字符串的搜索。
這里我們再額外再介紹一個被用作替換字符串的函數——INSERT()函數。
INSERT()函數語法
INSERT()函數返回字符串s1,子字符串起始于x位置,被字符串s2取代len個字符。
接下來,我們使用如上url_information表來體驗一下INSERT()函數,如下:
執行上述三條SQL,結果如下:
我們結合如上執行結果,來了解一下INSERT()函數的用法:- 第一個
INSERT(url,5,7,'baidu')將從url字段第5個字符開始長度為7的字符串替換為'baidu'。 - 第二個
INSERT(url,-1,4,'baidu')中的起始位置-1超出了字符串長度,直接返回原字符串。 - 第三個
INSERT(url,5,20,'baidi')替換長度超出了原字符串長度,則從第5個字符開始,截取后面所有的字符,并替換為指定字符'baidu'。