美文网首页
sql(updata)语句批量修改字段

sql(updata)语句批量修改字段

作者: HM_Hacker | 来源:发表于2017-10-09 15:19 被阅读0次

    一、根据条件去掉指定记录的前2个字符

    update 表名 set 字段名=REPLACE(字段名,字段名,SUBSTR(字段名,1,2))  where 条件;

    简单例子:

    update test set name=REPLACE(name,name,SUBSTR(name,1,2)) where number=1

    SUBSTR函数的简单用法

    substr(字符串,截取开始位置,截取长度)//返回截取字

    substr('testWork',0,1)//返回结果为't'  (从字符串第一个字符开始截取长度为1的字符串)

    substr('testWork',1,1)//返回结果为't'  (0和1都表示截取的开始位置为第一个字符)

    substr('testWork',2,4)//返回结果为'est'

    substr('testWork',-3,3)//返回结果为'ork'(负数(-i)表示截取的开始位置为字符串右端向左数第i个字符)

    二、批量修改指定字段的数据

    update 表名 set 字段=replace(字段,'原内容','新内容') where 条件

    如:将表中的图片字段中的.html去掉

    update test set image=replace(image,'.html','') where number=2;

    三、批量修改指定字段数据

    update 表名 set 字段名=REGEXP_REPLACE(字段名,'正则表达式','替换的字符') where 条件 ;

    如:将name中以'thai'开头的改为'korean'

    update test set name=REGEXP_REPLACE(name,'(^thai)','korean') ;

    regexp_replace(1,2,3,4,5,6) 正则替换

    语法说明:1:待匹配的字符串  2:正则表达式

    3:替换的字符  4:起始位置(默认从1开始)  5:替换的次数(0表示无限次)   6:取值范围(i:大小写不敏感  c:大小写敏感(默认)  n:不匹配换行符号   m:多行模式  x:扩展模式,忽略正则表达式中的空白符)

    扩展知识:

    批量修改数据

    update 表名 set 字段名=stuff(字段名,1,3,'新内容');

    如:将表test中name字段的前3个字符改成'test'

    update test set name=stuff(name,1,3,'test');

    sqlserver stuff用法

    1、作用

    删除指定长度的字符,并在指定的起点插入另一组字符

    2、语法

    STUFF  ( character_expression , start , length ,character_expression )

    3、示例

    在第一个字符串stringtest中删除从第3个位置(字符r)开始的三个字符,然后在删除的起始位置插入第二个字符串,返回一个新的字符串

    select  stuff('stringtest',3,3,'ok')

    结果  stroktest

    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、备注

    如果结果值大于返回类型支持的最大数,则产生错误

    相关文章

      网友评论

          本文标题:sql(updata)语句批量修改字段

          本文链接:https://www.haomeiwen.com/subject/axkpyxtx.html