我可以在sum()
中使用coalesce()
吗?
我想在Postgres的存储函数中使用它。
例如
case (COALESCE(t3.Count3,0)+ COALESCE(t2.Count2,0) >= t4.Count4::float)
then ( select (t4.Count4::float/((t3.Count3::float)+(t2.Count2::float))) * 100 as Count5 )
else ''0''
end as Count5
答案 0 :(得分:2)
很难说你在这里要做什么,因为代码中存在多个问题。此外,虽然您的标题提及SUM
,但您的代码不包含该代码(尽管您确实有+
,但这不相同)。
如果这是SELECT
声明的一部分,那么我猜你想要的是:
SELECT
CASE
WHEN COALESCE(t3.Count3,0)+ COALESCE(t2.Count2,0) >= t4.Count4::float
THEN 100 * t4.Count4::float/(COALESCE(t3.Count3::float,0)+COALESCE(t2.Count2::float,0))
ELSE 0
END as Count5
FROM MyTable