将null sql查询结果传递给字符串

时间:2017-05-05 18:40:29

标签: sql-server-2014

我正在撰写查询以获得毛利润百分比" GP%"按产品按年份将某个产品放入C#网格视图中。我希望查询结果是动态的,在某些年份该产品没有销售,因此结果将是(利润/销售)=(0/0)它将为空。这个null不被C#接受。

查询

SELECT
    FORMAT((SELECT ((ISNULL(SUM([Profit]), NULL)) / ISNULL(SUM([Sales]), NULL)) 
            FROM [dbo].[Sales] 
            WHERE [ProdHeir01_2] = 'Batteries' 
              AND [Sales_Year] = 2015 
              AND [Month_Number] BETWEEN 1 AND 8, 'P') AS [Percentage]

此查询会导致“无效”。如何插入条件以将null传递给字符串值。所以查询是动态的:)。

提前多多感谢......

此致

1 个答案:

答案 0 :(得分:0)

以下是您可能会发现有用的技术:

选择0 / CASE WHEN IsNull([Sales],0)= 0那么1 ELSE [销售] END