回覆列表
  • 1 # 奇妙的探尋

    修改欄位裡的所有含有指定字串的文字

    UPDATE 表A SET 欄位B = replace(欄位B, "aaa", "bbb")

        example: update  table set url= replace(url, "aaa", "bbb")  【將url欄位中的aaa批次更改為bbb】

         update table  set url= REPLACE (url,"3","1.png")  where 條件;   

  • 2 # 軟體測試開發技術棧

    如問題所言,替換某欄位中的特定字串。在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"。

  • 中秋節和大豐收的關聯?
  • 《嚮往的生活2》你最喜歡誰?