MySQL數據庫中寫入的A字段值前綴錯誤?
如問題所言,替換某字段中的特定字符串。在MySQL提供了一個非常實用的字符串函數——REPLACE() 函數,它允許用新的字符串替換字段中的特定字符串,能夠幫助我們非常方便的替換字段中的文本,比如更新失效的URL,糾正拼寫錯誤等。
REPLACE函數語法REPLACE函數中有三個參數,它將 string 中的 old_string 字符串替換為new_string 字符串。
如上,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'。