原始问题:
我是 SQL Server 的新手,找不到我要找的东西。我正在尝试在 SQL 中创建此逻辑:
IF [column] IS NULL THEN
( SELECT [value] as [columnname] )
ELSE
( SELECT [column] WHERE [column_value] IS NOT NULL )
基本上,如果整列为空,我想选择并用某个值填充整列。
否则,如果该列不完全为空,我只想选择它的非空值(合并?)。
使用 SQL Server 2005 执行此操作的最佳方法是什么?
回答(感谢乔希和其他所有人!)
IF EXISTS(SELECT myColumn
FROM mytable
WHERE myColumn IS NOT NULL)
SELECT myColumn as colName
FROM myTable
WHERE myColumn is NOT NULL
ELSE
SELECT [nullReplacementValue] as colName
FROM myTable
对困惑的早期澄清:
编辑:例如,如果给我一个这样的输入表:
ColA ColB ColC
--------------------
A null null
B null 1
C null null
如果我在 ColB 上运行这个 SELECT,它应该返回:
ColB
----
null
null
null
(最终我想用一些值替换“null”,但这可能会在以后出现)。
如果我在 ColC 上运行这个 SELECT,它应该返回:
ColC
----
1