如何更新SQL Server数据库的所有varchar,nvarchar或char字段并在NULL的位置设置空字符串?

时间:2012-10-12 12:18:42

标签: sql sql-server

在我的数据库中有很多NULL个值。现在我需要替换所有NULL值并将它们设置为空字符串,因为我现有的软件存在NULL值的问题。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

尝试此更新:

update Table1
set column1 = ' '
where column1 is null

答案 1 :(得分:1)

Hurraaaaaaaaa我找到了答案......

declare @query varchar(MAX)
SET @query='';
select @query=@query+' UPDATE '+table_name+' SET '+column_name+' = isnull('+column_name+','''');'
from (
    SELECT table_name=sysobjects.name,
             column_name=syscolumns.name
        FROM sysobjects 
        JOIN syscolumns ON sysobjects.id = syscolumns.id
        JOIN systypes ON syscolumns.xtype=systypes.xtype
       WHERE sysobjects.xtype='U' and (systypes.name='nvarchar' or systypes.name='varchar' or systypes.name='char')
) as a

exec (@query)