`

MySQL的replace()函数介绍 mysql替换部分内容

阅读更多
今天在工作的过程中碰到一个问题,要把数据库中某个列的所有值中含有"shop.xxxx.net"的字符更换成"www.fxue.cn",本来可以写个脚本,把所有的值都取出再用php进行处理,但是那样就效率非常低了,想到看试下能不能直接在MySQL中用SQL语句直接来处理,经过一番搜索,终于找到解决方案,其实最重要的是mysql的replace函数,关于这个函数的介绍,我在MySQL手册中是没看懂,不过能实现我想要的功能就行。
下面就是对这个函数的简要介绍以及范例。
比如你要将 表 tb1里面的 f1字段的abc替换为def:
UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def');
REPLACE(str,from_str,to_str)

在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串:
mysql>   SELECT   REPLACE('www.mysql.com',   'w',   'Ww');
->   'WwWwWw.mysql.com'

这个函数是多字节安全的。
示例:
UPDATE  `dede_addonarticle`  SET body =  REPLACE ( body,'</td>'," );
UPDATE  `dede_addonarticle`  SET body =  REPLACE ( body,'</tr>'," );
UPDATE  `dede_addonarticle`  SET body =  REPLACE ( body,'<tr>'," );
UPDATE  `dede_archives`  SET title=  REPLACE ( title,'简明现代魔法 – '," );
UPDATE  `dede_addonarticle`  SET body =  REPLACE ( body,'../../../../../../','http://special.dayoo.com/meal/' );

mysql replace
用法1.replace intoreplace into table (id,name) values('1','aa'),('2','bb')
此语句的作用是向表table中插入两条记录。
2.replace(object, search,replace)
把object中出现search的全部替换为replaceselect replace('www.163.com','w','Ww')—>WwW wWw.163.com
例:把表table中的name字段中的 aa替换为bbupdate table set name=replace(name,'aa','bb')
Sql Server 中 text或ntext 字段内容替换
刚开始,Update AA 表 Set xx字段=Replace(xx字段,"要替换的","特定串") ,出现错误:函数 replace 的参数 1 的数据类型 ntext 无效。Update article set heading=Replace(convert(nvarchar(4000),heading),'<script></script>','')
update 表名
    set text类型字段名=replace(convert(varchar(8000),text类型字段名),'要替换的字符','替换成的值')

varchar和nvarchar类型是支持replace,所以如果你的text/ntext不超过8000/4000可以先转换成前面两种类型再使用replace。
update 表名
    set ntext类型字段名=replace(convert(nvarchar(4000),ntext类型字段名),'要替换的字符','替换成的值')

如果text/ntext超过8000/4000,看如下例子:
declare @pos int
    declare @len int
    declare @str nvarchar(4000)
    declare @des nvarchar(4000)
    declare @count int 
   set @des ='<requested_amount+1>'--要替换成的值

   set @len=len(@des)
   set @str= '<requested_amount>'--要替换的字符


   set @count=0--统计次数.


    WHILE 1=1
   BEGIN
       select @pos=patINDEX('%'+@des+'%',propxmldata) - 1
       from 表名
       where 条件 

      IF @pos>=0
      begin
           DECLARE @ptrval binary(16)
          SELECT @ptrval = TEXTPTR(字段名) 
          from 表名
          where 条件
           UPDATETEXT 表名.字段名 @ptrval @pos @len @str
          set @count=@count+1
       end
      ELSE
         break;
   END

   select @count
分享到:
评论

相关推荐

    mysql 替换字段部分内容及mysql 替换函数replace()

    主要介绍了mysql 替换字段部分内容及mysql 替换函数replace()的相关知识,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧

    MySQL replace函数替换字符串语句的用法

    MySQL replace函数我们经常用到,下面就为您详细介绍MySQL replace函数的用法,希望对您学习MySQL replace函数方面能有所启迪。 最近在研究CMS,在数据转换的时候需要用到mysql的MySQL replace函数,这里简单介绍...

    MySQL替换函数replace()替换指定字段中的所有字符子串为其他字符串

    MySQL就为我们提供了替换函数replace(),可以实现以上需求。 UPDATE `table_name` SET `field_name` = replace (`field_name`,'from_str','to_str') WHERE `field_name` LIKE '%from_str%' SQL语句说明:

    Mysql中replace与replace into的用法讲解

    Mysql replace与replace ...replace是mysql 里面处理字符串比较常用的函数,可以替换字符串中的内容。类似的处理字符串的还有trim截取操作,这里就不在多说。 replace into 主要作用类似insert插入操作。主要的区别是re

    MYSQL 批量替换之replace语法的使用详解

    实际需求中,需要对某张表某字段里面的内容进行批量替换,普通的思考流程如下:SELECT出来str_replace替换UPDATE写入实际这样极其浪费资源以及消耗资源,MYSQL内置了一个批量替换的语法 代码如下:UPDATE table SET ...

    mysql中使用replace替换某字段的部分内容

    最近有个朋友提到如何使用sql来删除一个字段中部分内容,于是就写了这篇文章,简单记过: 测试表如下: 代码如下: CREATE TABLE `t` (   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,   `domain` tinytext,...

    mysql_regexp_replace.zip_oracle

    oracle中REGEXP_REPLACE函数在mysql中的实现

    mysql 如何替换字符串部分信息?

    使用REPLACE()函数,REPLACE(string, from_string, new_string) string 必须项。原始字符串 from_string 必须项。要替换的子字符串 new_string 必须项。新的替换子字符串 SELECT REPLACE('aaa.mysql.com','a','w...

    MySQL常见函数使用(二).pdf

    字符串函数:如CONCAT(), SUBSTRING(), REPLACE()等。 数值函数:如ROUND(), CEIL(), FLOOR()等。 日期和时间函数:如NOW(), DATE_ADD(), TIMEDIFF()等。 条件函数:如IF(), CASE语句等。 聚合函数:如SUM(), AVG(),...

    高效的忽略大小写的字符串替换(Replace)函数[定义].pdf

    高效的忽略大小写的字符串替换(Replace)函数[定义].pdf

    replace MYSQL字符替换函数sql语句分享(正则判断)

    代码如下:Update dede_addonsoft SET dxylink=REPLACE(dxylink, ‘.zip’, ‘.rar... :正则匹配,把field字段里的 .rar 替换为 .7z MySQL正则表达式替换,字符替换方法 两句SQL,都是字符替换,比较好用。 update com

    MySQL 基础 - 字符串函数.md

    REPLACE函数:用于在字符串中替换指定的子字符串。 示例代码清晰地展示了每个字符串函数的使用方法和输出结果。通过阅读和演练这个文档,您将能够更加熟悉和理解MySQL数据库中这些常用的字符串函数,从而能够在实际...

    MongoDB中数据的替换方法实现类Replace()函数功能详解

    近日接到一个开发需求,因业务调整,需要...在SQL Server数据库中,我们用Replace函数来实现字符的替换。 语法 REPLACE ( ''string_replace1'' , ''string_replace2'' , ''string_replace3'' ) 参数 ”string_replac

    mysql-udf-regexp:实现REGEXP _...()函数MySQL用户定义函数模块

    该程序包将正则表达式函数用作MySQL用户定义函数(UDF)。 该软件包实现的功能是: REGEXP_LIKE(text, pattern [, mode]) REGEXP_SUBSTR(text, pattern [,position [,occurence [,mode]]]) REGEXP_INSTR?(text, ...

    MySQL中文参考手册.chm

    句法 7.10 DROP TABLE (抛弃表)句法 7.11 DELETE (删除)句法 7.12 SELECT (精选)句法 7.13 JOIN (联接)句法 7.14 INSERT (插入)句法 7.15 REPLACE (替换)句法 7.16 LOAD DATA IN...

    MySQL批量去掉某个字段中的空格

    不仅是字符串前后的空格,还包含字符串中间的空格,答案是 replace,使用mysql自带的 replace 函数,另外还有个 trim 函数。 (1)mysql replace 函数 语法:replace(object,search,replace) 意思:把object中...

    PHP中str_replace函数使用小结

    这段时间在看《PHP和MySQL Web开发》一书看到str_replace讲解,一段小提示写到:可以为str_replace的三个都使用数组传入,但讲解比较简单,于是决定自己的试验一下该函数在各个参数传入数组时的执行结果。 函数原型...

    MySQL 5.1中文手冊

    8.14. replace:字符串替换实用工具 8.15. mysql_zap:杀死符合某一模式的进程 9. 语言结构 9.1. 文字值 9.1.1. 字符串 9.1.2. 数值 9.1.3. 十六进制值 9.1.4. 布尔值 9.1.5. 位字段值 9.1.6. NULL值 9.2. 数据库、...

Global site tag (gtag.js) - Google Analytics