Sql server 使用pivot转换空值
我试图在我的脚本中转换空值,我也在使用PIVOT函数。这是我的脚本,也是我尝试将NULL转换为“0”的过程 声明@custnum nvarchar(7)='1124' 声明@yr smallint=2016Sql server 使用pivot转换空值,sql-server,Sql Server,我试图在我的脚本中转换空值,我也在使用PIVOT函数。这是我的脚本,也是我尝试将NULL转换为“0”的过程 声明@custnum nvarchar(7)='1124' 声明@yr smallint=2016 SELECT 'Customer Orders Returned' as Description, * FROM ( SELECT left(datename(month,r.rma_date),3) AS RetMonth, ISNULL(COUNT(r.rma_num),0) as O
SELECT 'Customer Orders Returned' as Description, *
FROM (
SELECT left(datename(month,r.rma_date),3) AS RetMonth,
ISNULL(COUNT(r.rma_num),0) as OrdersReturned
FROM dbo.rma r
WHERE r.cust_num = @custnum AND YEAR(r.rma_date) = @yr
GROUP BY left(datename(month,r.rma_date),3),r.rma_num
)
AS R
PIVOT
(
SUM(OrdersReturned)
FOR RetMonth
IN (Jan,Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)
)AS pvt
我的结果是:
如果有任何建议可以帮助解决我的问题,我将不胜感激
谢谢 使用ISNULL()函数
Select ISNULL(columnname,0) from tablename
要做到这一点,首先需要从select中删除“*”并使用真实的列名,然后在查询示例中使用ISNULL(columnname,0):-从TableName中选择ISNULL(columnname,0)。这是为什么使用*是一个坏习惯的另一个示例。:)谢谢大家的建议。我尝试选择ISNULL(columnname,0),但仍然不起作用。然而,我确实在网站上找到了一个可行的解决方案:COALESCE(一月,0)一月,COALESCE(二月,0),等等。