SQL,怎样可以一次性将表中的所有NULL替换成空?

我的SQL数据库中有一张表,大概有一百多个字段,五万多条记录,怎样可以一次性将表中的所有NULL替换成空?如果用update表名set列名=''where列名isNull... 我的SQL数据库中有一张表,大概有一百多个字段,五万多条记录,怎样可以一次性将表中的所有NULL替换成空?
如果用 update 表名 set 列名 = '' where 列名 is Null 这样一个字段一个字段的替换,会疯掉的。。。
请大伙帮帮忙!
展开
 我来答
捐你妹8
推荐于2017-10-15 · TA获得超过638个赞
知道小有建树答主
回答量:351
采纳率:0%
帮助的人:368万
展开全部

大概想法是通过利用sys.columns这个系统表,然后组合语句之后执行。

declare @cmd varchar(MAX)
declare @column varchar(MAX)
declare @index int
while 1 = 1 
select top 1 @column = name, @index = column_id from sys.columns where column_id > @index and object_name(object_id) = 'Table_name'
if @column is null
  break
select @com = 'update Table_name set ' + @column + ' = '''' where ' + @column + ' is null'
exec(@cmd)
end

 里面的Table_name就是你的表名

更多追问追答
追问
谢谢你,但是提示错误,@cmd必须声明变量以及end附近有语法错误。
追答
在while后面加一个begin就行了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式