UNPIVOT
不会返回NULL
,但是我需要在比较query
中使用它们。我试图避免在以下示例中使用ISNULL
(因为在实际的sql中有100多个字段):
Select ID, theValue, column_name
From
(select ID,
ISNULL(CAST([TheColumnToCompare] AS VarChar(1000)), '') as TheColumnToCompare
from MyView
where The_Date = '04/30/2009'
) MA
UNPIVOT
(theValue FOR column_name IN
([TheColumnToCompare])
) AS unpvt
还有其他选择吗?
最佳答案
真是痛苦。您必须在UNPIVOT
之前将其关闭,因为ISNULL()
不会产生任何行来进行操作-代码生成是您的 friend 。
我也有关于PIVOT
的问题。缺少的行变成NULL
,例如,如果丢失的值与ISNULL()
相同,则必须在整个行中用0.0
换行。
关于sql-server - SQL Server-使用UNPIVOT包含NULL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1002989/