`

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]replace的用法(替换某字段部分内容) [mysql]replace的用法 1.replace into  replace into table (id,name) values(‘1′,’aa’),(‘2′,’bb’)  此语句的作用是向表table中插入两条记录。如果主键id为...

    MySQL中使用replace、regexp进行正则表达式替换的用法分析

    在数据库操作中,经常需要对数据进行格式化和内容替换。MySQL数据库作为最流行的开源数据库之一,提供了多种工具来执行这类操作,其中replace函数和regexp正则表达式是强大的工具。replace函数可以通过简单的字符串...

    Mysql函数手册.rar_MySQL函数手册_VZI_mysql 函数手册

    2. 字符串函数:如CONCAT()用于连接字符串,LEFT()和RIGHT()用于提取字符串的首尾部分,REPLACE()用于替换字符串中的子串,以及UPPER()和LOWER()用于转换大小写。 3. 日期和时间函数:如NOW()获取当前日期和时间,...

    mysql_regexp_replace.zip_oracle

    Oracle 的 `REGEXP_REPLACE` 函数允许用户使用正则表达式进行复杂的字符串替换操作,而 MySQL 中没有直接对应的内置函数。在这个主题中,我们将探讨如何在 MySQL 中模拟 Oracle 的 `REGEXP_REPLACE` 功能,并了解...

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

    MySQL中的`REPLACE`函数是一个非常实用的字符串处理函数,它允许你在数据库操作中便捷地进行文本替换。在描述中提到的场景,如研究CMS(内容管理系统)时的数据转换,`REPLACE`函数就显得尤为关键,因为它可以方便地...

    mysql update正则替换sql语句

    除了REPLACE函数,MySQL还提供了REGEXP_REPLACE函数(从MySQL 8.0版本开始引入),这个函数可以直接进行正则表达式的替换操作。使用REGEXP_REPLACE函数的语法如下: ```sql UPDATE test SET url = REGEXP_REPLACE...

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

    MySQL中的`REPLACE()`函数是一个非常实用的字符串处理函数,它允许我们在数据库中的字段值中查找并替换特定的字符子串。这个函数在处理大量数据时尤其有用,能有效地自动化那些繁琐的文本替换任务,避免了手动操作...

    mysql函数大全,函数库

    这个文档集合通常包括安装手册、函数分类介绍、示例代码以及使用技巧等内容。 在MySQL中,函数可以分为多种类型,如数学函数、字符串函数、日期和时间函数、控制流程函数、系统信息函数等。下面我们将逐一详细介绍...

    MySQL函数大全中文版

    2. **字符串函数**:例如`CONCAT()`用于连接两个或更多字符串,`SUBSTRING()`用于提取字符串的一部分,`REPLACE()`用于替换字符串中的特定部分,而`LOWER()`和`UPPER()`则用于转换大小写。 3. **日期和时间函数**:...

    批量替换msyql字段内容

    综上所述,批量替换MySQL字段内容涉及到的关键知识点包括:SQL更新语句、`REPLACE()`函数、`REGEXP_REPLACE()`函数以及正则表达式的使用。熟练掌握这些,将有助于我们在数据库维护和数据清洗工作中更加高效和精准。

    php+mysql常用函数

    另外,`ereg_replace()`和`eregi_replace()`则是用于替换匹配到的文本,它们的使用方式类似,但在匹配时,后者不区分大小写。 `split()`函数则用于根据指定的分隔符将字符串分割成数组。这对于处理CSV数据或者需要...

    Mysql常用函数列表

    ### MySQL常用函数详解 #### 字符串处理函数 1. **CHARSET(str)** - 功能:返回字符串`str`的字符集。 - 示例:`CHARSET('abc')`将返回`str`的字符集编码。 2. **CONCAT(string1[, string2, ...])** - 功能:...

    mysql内部函数

    还有其他函数,如 `CONCAT` 连接字符串,`SUBSTRING` 提取子串,`REPLACE` 替换字符串中的部分字符等。 5. **数值函数**: - 算术操作符如 `+`, `-`, `*`, `/`, `%` 用于基本的数学运算。此外,还有 `SQRT` 计算...

    mysql的函数及命令集合

    5. REPLACE(str, find_string, replace_with):在字符串中替换所有出现的目标字符串。 三、数学函数 1. ABS(x):返回数值的绝对值。 2. SQRT(x):返回平方根。 3. ROUND(number, digits):按指定的小数位数四舍五...

    MySql常用函数大全讲解

    通过以上介绍,我们可以看到MySQL提供的数学函数和字符串函数非常实用,能够帮助开发者轻松完成复杂的计算和文本处理任务。这些函数不仅简化了SQL查询的编写过程,还增强了查询的灵活性和功能。在实际应用中,熟练...

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

    在本文中,我们将深入探讨如何在MySQL中使用`REPLACE()`函数来替换某字段的部分内容。 首先,我们需要了解`REPLACE()`函数的基本语法: ```sql REPLACE(str, find_string, replace_with) ``` 这里的参数含义如下...

Global site tag (gtag.js) - Google Analytics