• mysql的replace()函数介绍【mysql函数】 Confi


     

    #下面就是对这个函数的简要介绍以及范例。

    #示例:

    #比如你要将 表 tb1里面的 f1字段的abc替换为def:

    1
    UPDATE tb1 SET f1=REPLACE(f1, 'abc''def');

     

    #函数的本用法:

    REPLACE(目标字符串,搜索字符串,替换字符串);

     

    #在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串:

    1
    2
    3
    4
    REPLACE(str,from_str,to_str);
        
    SELECT   REPLACE('www.mysql.com',   'w',   'Ww'); 
     'WwWwWw.mysql.com'//替换后的

     

    #mysql 中的replace用法

    #用法1.replace into

    1
    replace into replace into table (id,name) values('1','aa'),('2','bb');

    此语句的作用是向表table中插入两条记录。

    如果主键id为1或2不存在,就相当于 

    1
    insert into table (id,name) values('1','aa'),('2','bb')

    如果存在相同的值则不会插入数据

     

    #用法2.replace(object,search,replace)

    把object中出现search的全部替换为

    1
    select replace('www.163.com','w','Ww') WwW wWw.163.com

    例:把表table中的name字段中的 aa替换为bb

    1
    update table set name=replace(name,'aa','bb')

    Sql Server 中 text或ntext 字段内容替换

    刚开始,Update AA 表 Set xx字段=Replace(xx字段,"要替换的","特定串") ,出现错误:函数 replace 的参数 1 的数据类型 ntext 无效。

    1
    2
    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。

     

    1
    2
    update 表名     set text类型字段名=replace(convert(varchar(8000),text类型字段名),'要替换的字符','替换成的值')
    update 表名     set ntext类型字段名=replace(convert(nvarchar(4000),ntext类型字段名),'要替换的字符','替换成的值')

    如果text/ntext超过8000/4000,看如下例子:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    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

     

  • 相关阅读:
    Windows dll注入
    Android获取ROOT权限的通用方法
    Android odex,oat文件的反编译,回编译
    盘点那些适配Linux的国产常用软件
    Hook Java API以获得MD5加密前数据
    修改Android源码实现原生应用双开,应用多开
    让终端更好看--Ubuntu OhMyZsh配置指南
    (二) go语言设计模式-创建模式之抽象工厂模式(Abstract Factory)
    (一) go语言设计模式概述
    j2ee高级开发技术课程第十四周
  • 原文地址:https://www.cnblogs.com/heyubingfeng/p/2957852.html
Copyright © 2020-2023  润新知