• sql怎么批量替换字段里的字符串的


    方法一:varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 。

    1
    update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么')

    方法二:

    1
    update [表名] set 字段名 = replace(与前面一样的字段名,'原本内容','想要替换成什么')

    方法三(此方法既可用于删除某一列字段中的某部分字符,也可用于替换某一列字段中的某部分字符)

    update Table_Name 
    set Column_Name=replace(Column_Name,substring(Column_Name,Start,Length),'Replace_Content')
    
    --Start 是要替换的字符开始的位置
    --Lenght 要替换字符的长度

      注:与stuff函数的不同

      1、作用

      stuff函数用于删除指定长度的字符,并在指定的起点处插入另一组字符。

      2、语法

      STUFF ( character_expression , start , length ,character_expression )

      3、示例

      以下示例在第一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位  置插入第二个字符串,从而创建并返回一个字符串

      SELECT STUFF('abcdef', 2, 3, 'ijklmn') GO

      下面是结果集

      aijklmnef

      4、参数 character_expression

      一个字符数据表达式。character_expression 可以是常量、变量,也可以是字符列或二进制数据列。

      start

      一个整数值,指定删除和插入的开始位置。如果 start 或 length 为负,则返回空字符串。如果 start 比第一个 character_expression长,则返回空字符串。start 可以是 bigint 类型。

      length

      一个整数,指定要删除的字符数。如果 length 比第一个 character_expression长,则最多删除到最后一个 character_expression 中的最后一个字符。length 可以是 bigint 类型。

      5、返回类型 如果 character_expression 是受支持的字符数据类型,则返回字符数据。如果 character_expression 是一个受支持的 binary 数据类型,则返回二进制数据。

      6、备注 如果结果值大于返回类型支持的最大值,则产生错误。

      上述内容摘自http://www.cnblogs.com/345563452/archive/2009/10/29/1592048.html,侵删

      stuff函数用于删除指定长度的某个字符,而我刚刚写的语句则可以用来删除某列中字段的某一部分,只需把Replace_Content设为空即可

    方法四:

    update Table_Name 
    set Column_Name=replace(Column_Name,'Content','Replace_Content')
    


    这段语句就可以用来代替某个特定的字符,用Replace_Content代替Content。

    start 可用charindex函数。

    如:查找字符串中“你好”的位置

    执行:

    1
    select charindex('你好','2432你好dsfasdf')

    结果:

    结论:“你好”中的“你”的起始位置是5,所以这样就能判断出指定字符的位置了。

  • 相关阅读:
    BCP 命令
    模板复习【updating】
    bzoj3716/4251 [PA2014]Muzeum
    bzoj4318 OSU!
    uoj308 【UNR #2】UOJ拯救计划
    bzoj4695 最假女选手
    省队集训 Day7 选点游戏
    hdu5828 Rikka with Sequence
    bzoj2482 [Spoj1557] Can you answer these queries II
    省队集训 Day6 序列
  • 原文地址:https://www.cnblogs.com/shiyh/p/7754059.html
Copyright © 2020-2023  润新知