sql语句批量修改字段

一、 根据条件去掉指定记录的前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、备注
如果结果值大于返回类型支持的最大数,则产生错误

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值