Postgres求和,认为NaN值为0
Postgres sum, consider NaN value as 0
我有一个 table,其列名值如下:
value
===
1.0
4.7
'NaN'
0
有些行可能有 NaN 值。
我需要 sum(value) 将 NaN 值视为 0,类似于 SELECT sum(isnull(value,0))
但对于 NaN 值。 NaN 值有类似的东西吗?
您可以使用 case
表达式:
select sum(case when value <> 'NaN' then value end)
这将 NaN
视为 NULL
,在 SUM()
中将被忽略。如果您喜欢 0
.
,当然可以添加 else 0
您可以使用 nulliff,如下所示
select sum(nullif(value, 'NaN'))
我有一个 table,其列名值如下:
value
===
1.0
4.7
'NaN'
0
有些行可能有 NaN 值。
我需要 sum(value) 将 NaN 值视为 0,类似于 SELECT sum(isnull(value,0))
但对于 NaN 值。 NaN 值有类似的东西吗?
您可以使用 case
表达式:
select sum(case when value <> 'NaN' then value end)
这将 NaN
视为 NULL
,在 SUM()
中将被忽略。如果您喜欢 0
.
else 0
您可以使用 nulliff,如下所示
select sum(nullif(value, 'NaN'))