萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql replace替換函數的用法

mysql replace替換函數的用法

replace函數在mysql中替換了但不能像php中那麼使用了,下面我們來詳細介紹replace的用法,具體的細節看下文吧。

語法格式:

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]字符串的個數和

copyright © 萬盛學電腦網 all rights reserved