mysql replace,mysql replace替换,mysql替换,mysql substring,mysql locate
语法格式:
UPDATE 表名 SET 字段名 = REPLACE ( 替换前的字段值, '替换前关键字', '替换后关键字' ) WHERE 字段名 REGEXP "替换前的字段值";
示例Demo: (1)替换b-blog表主键id为9的content字段内容www.www.fity.cn为www.fity.cn:
UPDATE b_blog
SET content = REPLACE (
content,
'www.www.fity.cn',
'www.fity.cn'
)
WHERE
id = 9
(2)替换下面内容为空白:
[b][url] [img] www.www.fity.cn [/img] [size=6][color=Red]未来往事~ 未来往事博客~、[/color][/size] [/url][/b] [b][url] [img] www.xsimple.cn [/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('www.fity.cn', 6, 4) ....; //输出:msg -- fity
②LOCATE(substr,str,pos)字符串查找函数,返回字符串所在的下标,支持中文,不区分大小写 第一个语法返回substr在字符串str 的第一个出现的位置。第二个语法返回子符串 substr 在字符串str,从pos处开始的第一次出现的位置。如果substr 不在str 中,则返回值为0 。 select locate('fity', 'www.fity.cn'); //输出6
③上述SQL中数字10为[/url][/b]字符串的个数和