mysql replace替換函數的用法

來源:互聯網
上載者:User

文法格式:

UPDATE 表名
SET 欄位名 = REPLACE (
  替換前的欄位值,
  '替換前關鍵字',
  '替換後關鍵字'
)
WHERE
  欄位名 REGEXP "替換前的欄位值";

樣本Demo:
(1)替換b-blog表主鍵id為9的content欄位內容www.111cn.ne為m.111cn.net:

 代碼如下 複製代碼
UPDATE b_blog
SET content = REPLACE (
  content,
  'www.111cn.net',
  'm.111cn.net'
)
WHERE
  id = 9

(2)替換下面內容為空白:

[b][url] [img] www.111cn.ne [/img] [size=6][color=Red]未來往事~ 未來往事部落格~、[/color][/size] [/url][/b]
[b][url] [img] www.111cn.net [/img] [size=6][color=Red]Xsimple:致力於提供互連網解決方案[/color][/size] [/url][/b]
SQL語句:

 代碼如下 複製代碼

UPDATE b_blog
SET message = REPLACE (
  message,
  substring(
    message,
    locate('[b][url] [img]', message),
    locate('[/url][/b]', message) + 10 - locate('[b][url] [img]', message)
  ),
  ''
)

WHERE
  id >= 10000

#補充注釋:

①SUBSTRING ( expression , pos, length ) 字元截取函數

參數

expression:是字串、二進位字串、text、image、列或包含列的運算式。不要使用包含彙總函式的運算式。
pos:是一個整數,指定子串的開始位置。
length:是一個整數,指定子串的長度(要返回的字元數或位元組數)。
select msg = substring('blog.fity.cn', 6, 4) ....; //輸出:msg -- fity

②LOCATE(substr,str,pos)字串尋找函數,返回字串所在的下標,支援中文,不區分大小寫
第一個文法返回substr在字串str 的第一個出現的位置。第二個文法返回子符串 substr 在字串str,從pos處開始的第一次出現的位置。如果substr 不在str 中,則傳回值為0 。
select locate('fity', 'blog.fity.cn'); //輸出6

③上述SQL中數字10為[/url][/b]字串的個數和

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.