SQL 怎么批量修改数据表内容

SQL 怎么批量修改数据表内容,第1张

先去空白再替换。如果那个空白是空格就好办,用函数rtrim,ltrim去空格,如果不是空格

你把sql里的数据粘贴到记事本里,然后再sql的查询分析器里输入

select ascii(' 那个空白字符')得到这个空白的ascii码,接着

update表名 set 字段名=replace(字段名,char(刚才得到ascii码),'')

把空白都去掉之后用你那个语句就可以了。

还有一种本办法,就是把所有的空白的可能都写一次,比如 回车是char(13),换行是char(10)等等你就update表名 set 字段名=replace(字段名,char(10),'') ,

把所有可能都替换了,就那几种是空白,情况也不是很多

---脚本适用于sql 2005 sp3及以上

declare @sql nvarchar(max),@search nvarchar(100),@update nvarchar(100)

set @search='张3'

set @update='李4'

--set @sql='declear @sql nvarchar(4000)'

--select @sql='select @sql=''select '''

set @sql=''

select @sql=@sql+'update '+sysobjectsname+' set '+syscolumnsname+'='''+@update+''' where '+syscolumnsname+'='''+@search+''' ' from sysobjects inner join syscolumns on sysobjectsid=syscolumnsid where sysobjectsxtype='U' and syscolumnsxtype in (35,99,167,175,231,239)

exec sp_executesql @sql

CREATE procedure sp_columnsearch

@search varchar(100),

@update varchar(100)=''

as

begin

---脚本适用于sql 2005 sp3及以上

declare @sql nvarchar(max)

select @sql=@sql+'update '+sysobjectsname+' set '+syscolumnsname+'='''+@update+''' where '+syscolumnsname+'='''+@search+''' ' from sysobjects inner join syscolumns on sysobjectsid=syscolumnsid where sysobjectsxtype='U' and syscolumnsxtype in (35,99,167,175,231,239)

exec sp_executesql @sql

end

经检查,没有问题,除非选错了库运行或者

update aaa set bb='abc' where bb='123'

在你的库里面本来就不能匹配

以上就是关于SQL 怎么批量修改数据表内容全部的内容,包括:SQL 怎么批量修改数据表内容、sql 批量修改数据、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10193472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存