如何删除';空';根据SQL Server 2008的查询结果
我有一个59列超过17K行的表。许多行在某些列中具有如何删除';空';根据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
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