gpt4 book ai didi

sql - 如何从 SQL Server 2008 的查询结果中删除 'NULL'

转载 作者:行者123 更新时间:2023-12-04 18:34:55 24 4
gpt4 key购买 nike

我有一个包含 59 列和超过 17K 行的表格。很多行都有NULL在某些列中。

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

我可以运行一些更新功能来替换所有 NULL'' ?

使用 SQL Server 2008R2 管理工作室。

UPDATE my_table
SET column_1 = REPLACE (column_1,NULL,'')

但这需要很长时间才能对所有 59 列执行此操作!

有什么诀窍,团队?

最佳答案

使用 SQL 标准 COALESCE :

UPDATE my_table
SET column_1 = COALESCE(column_1,'')
, column_2 = COALESCE(column_2,'')
...
WHERE column_1 IS NULL OR
column_2 IS NULL OR
... -- avoid empty updates
;

然后使用 ALTER TABLE ...添加 NOT NULL约束所有不应有 NULL 的列,以禁止重新引入 NULL 值。

请勿使用 ISNULL ,这基本上是标准 COALESCE 的重复在某些 RDBMS 中 - 而在其他 RDBMS 中不可用。 (嗯,有细微差别, read the manual for detailseven more detail here 。)

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

关于sql - 如何从 SQL Server 2008 的查询结果中删除 'NULL',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34215239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com