SQL,怎样可以一次性将表中的所有NULL替换成空?
我的SQL数据库中有一张表,大概有一百多个字段,五万多条记录,怎样可以一次性将表中的所有NULL替换成空?如果用update表名set列名=''where列名isNull...
我的SQL数据库中有一张表,大概有一百多个字段,五万多条记录,怎样可以一次性将表中的所有NULL替换成空?
如果用 update 表名 set 列名 = '' where 列名 is Null 这样一个字段一个字段的替换,会疯掉的。。。
请大伙帮帮忙! 展开
如果用 update 表名 set 列名 = '' where 列名 is Null 这样一个字段一个字段的替换,会疯掉的。。。
请大伙帮帮忙! 展开
1个回答
展开全部
大概想法是通过利用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就行了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询