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/

10-11 14:38