一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

mysql replace替换函数的用法

时间:2016-07-05 编辑:简简单单 来源:一聚教程网

语法格式:

UPDATE 表名
SET 字段名 = REPLACE (
  替换前的字段值,
  '替换前关键字',
  '替换后关键字'
)
WHERE
  字段名 REGEXP "替换前的字段值";

示例Demo:
(1)替换b-blog表主键id为9的content字段内容www.111cn.ne为m.111com.net:

 代码如下 复制代码
UPDATE b_blog
SET content = REPLACE (
  content,
  'www.111com.net',
  'm.111com.net'
)
WHERE
  id = 9

(2)替换下面内容为空白:

[b][url] [img] www.111cn.ne [/img] [size=6][color=Red]未来往事~ 未来往事博客~、[/color][/size] [/url][/b]
[b][url] [img] www.111com.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]字符串的个数和

热门栏目