使用sum(nullif(v1 = v2))安全吗?我的目的是知道V1是否等于所有行的V2(均可无效),并且由于我在Group语句中使用了这一点,这就是我想到的。还有其他方法可以实现同样的方法吗?
最好在SUM
聚合之前使用COALESCE
方法。
确定它们是否相等,您可以做:
select (1 -
max(case when v1 = v2 then 0
when v1 is null and v2 is null then 0
else 1
end)
) as all_equal
from t;