Return 我的 SQL 数据透视查询中的 NULL 为零
Return NULL as Zero from my SQL Pivot query
我正在使用 SQL Server 2014,并且我有一个在我的数据库上运行并且工作正常的数据透视查询。我的问题是某些字段中有 NULL。我希望将 NULLS 替换为零。
我的查询如下:
(SELECT [PROPERTYCODE],
[MARKET FINAL],
[MARCH 2015],
[APRIL 2015],
[MAY 2015]
FROM (SELECT [PropertyCode],
[MTH],
[Room Nights],
[Market FINAL]
FROM HOLDINGS2
)m
PIVOT (Sum([ROOM NIGHTS])
FOR [MTH] IN ([MARCH 2015],
[APRIL 2015],
[MAY 2015]
)) AS PVTTABLE)
ORDER BY [PropertyCode],[Market FINAL]
输出如下所示:
PropertyCode MarketFinal March 2015 April 2015 May 2015
A UK 245 NULL 320
我需要 NULLS 为零。
我已经在 Pivot 语句上试过了:
PIVOT (Sum(NULLIF[ROOM NIGHTS],0))
但是没有用。我还在 [MARCH 2015]、[APRIL 2015] 和 [MAY 2015] 旁边的查询的第一个 select 语句中尝试了 NULLIF,但它仍然不起作用!
如果两个表达式相等,NULLIF 函数将 return 0,因此在您的示例中它将用 null 替换 0。
看看ISNULL函数
(SELECT [PROPERTYCODE],
[MARKET FINAL],
[MARCH 2015],
[APRIL 2015],
[MAY 2015]
FROM (SELECT [PropertyCode],
[MTH],
isnull([Room Nights] , 0),
[Market FINAL]
FROM HOLDINGS2
)m
PIVOT (Sum([ROOM NIGHTS])
FOR [MTH] IN ([MARCH 2015],
[APRIL 2015],
[MAY 2015]
)) AS PVTTABLE)
ORDER BY [PropertyCode],[Market FINAL]
我正在使用 SQL Server 2014,并且我有一个在我的数据库上运行并且工作正常的数据透视查询。我的问题是某些字段中有 NULL。我希望将 NULLS 替换为零。
我的查询如下:
(SELECT [PROPERTYCODE],
[MARKET FINAL],
[MARCH 2015],
[APRIL 2015],
[MAY 2015]
FROM (SELECT [PropertyCode],
[MTH],
[Room Nights],
[Market FINAL]
FROM HOLDINGS2
)m
PIVOT (Sum([ROOM NIGHTS])
FOR [MTH] IN ([MARCH 2015],
[APRIL 2015],
[MAY 2015]
)) AS PVTTABLE)
ORDER BY [PropertyCode],[Market FINAL]
输出如下所示:
PropertyCode MarketFinal March 2015 April 2015 May 2015
A UK 245 NULL 320
我需要 NULLS 为零。
我已经在 Pivot 语句上试过了:
PIVOT (Sum(NULLIF[ROOM NIGHTS],0))
但是没有用。我还在 [MARCH 2015]、[APRIL 2015] 和 [MAY 2015] 旁边的查询的第一个 select 语句中尝试了 NULLIF,但它仍然不起作用!
如果两个表达式相等,NULLIF 函数将 return 0,因此在您的示例中它将用 null 替换 0。
看看ISNULL函数
(SELECT [PROPERTYCODE],
[MARKET FINAL],
[MARCH 2015],
[APRIL 2015],
[MAY 2015]
FROM (SELECT [PropertyCode],
[MTH],
isnull([Room Nights] , 0),
[Market FINAL]
FROM HOLDINGS2
)m
PIVOT (Sum([ROOM NIGHTS])
FOR [MTH] IN ([MARCH 2015],
[APRIL 2015],
[MAY 2015]
)) AS PVTTABLE)
ORDER BY [PropertyCode],[Market FINAL]