如何删除';空';根据SQL Server 2008的查询结果

如何删除';空';根据SQL Server 2008的查询结果,sql,sql-server,replace,sql-server-2008-r2,null,Sql,Sql Server,Replace,Sql Server 2008 R2,Null,我有一个59列超过17K行的表。许多行在某些列中具有NULL 我想删除NULL,以便查询返回空白(')而不是NULL 我是否可以运行一些更新函数,用'替换所有NULL 使用SQLServer2008R2管理工作室 UPDATE my_table SET column_1 = REPLACE (column_1,NULL,'') 但这将永远不会影响到所有59列 技巧是什么,团队?使用isnull函数。如果在列中找到null,则返回指定的值 Select isnull(col1,'') 使用SQ

我有一个59列超过17K行的表。许多行在某些列中具有
NULL

我想删除
NULL
,以便查询返回空白(
'
)而不是
NULL

我是否可以运行一些更新函数,用
'
替换所有
NULL

使用SQLServer2008R2管理工作室

UPDATE my_table
SET column_1 = REPLACE (column_1,NULL,'')
但这将永远不会影响到所有59列


技巧是什么,团队?

使用isnull函数。如果在列中找到null,则返回指定的值

Select isnull(col1,'')
使用SQL标准:

然后使用
altertable…
向所有不应为NULL的列添加
notnull
约束,以禁止重新引入NULL值

不要使用
ISNULL
,这在某些RDBMS中基本上是标准
COALESCE
的复制,而在其他RDBMS中则不可用。(好吧,有细微的区别,或者说。)

当然,空字符串(
'
)仅对字符串类型有效。例如,不适用于数字类型。

试试这个:

UPDATE yourtable SET column1 = ' '  WHERE column1 = NULL

这是一个有用的功能,我将在其他地方使用,但不是我今天要找的功能。您的
replace()
无法工作。
UPDATE yourtable SET column1 = ' '  WHERE column1 = NULL