PostgreSQL-求和时如何将NaN视为0?

时间:2019-02-05 20:04:26

标签: postgresql null sum nan

我有一个包含数值和NaN的表。求和时,如果所选值包含NaN,则结果将为NaN。有没有一种方法可以使postgresql在求和而不是NaN时将其视为0?还是只需要将表中的所有NaN都转换为0或Null?

1 个答案:

答案 0 :(得分:1)

使用NULLIF,例如:

with my_table(col) as (
values
    (1::numeric),(2),('NaN')
)

select sum(col) as original, sum(nullif(col, 'NaN')) as corrected
from my_table;

 original | corrected 
----------+-----------
      NaN |         3
(1 row)