我试图使用计算列计算百分比。通过将下面的MS Sql查询添加到计算列中。
Select (([Apple]*100) / (NULLIF([Apple]+[Samsung]+[Vivo]+[MI]+[oppo]+[Oneplus],0))) As PerOfApple
From [dbo].[CellPhone]
但在执行这个查询后,我在(PerOfApple(列的每一行中都得到了null值。
我认为您需要coalesce()
:
Select ([Apple] * 100.0) /
NULLIF(coalesce([Apple], 0) + coalesce([Samsung], 0) + coalesce([Vivo], 0) + coalesce([MI], 0) + coalesce([oppo], 0) +coalesce([Oneplus], 0), 0)
) As PerOfApple
From [dbo].[CellPhone];
注意,我用100.0
替换了100
。SQL Server执行整数除法,这可能不适合此计算。