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

omqzjyyz  于 2023-05-28  发布在  PostgreSQL
关注(0)|答案(1)|浏览(204)

我有一个包含数值和NaN的表。求和时,如果所选值包含NaN,则结果将为NaN。有没有办法让postgresql在求和时将它们视为0而不是NaN?或者我只需要将表中的所有NaN转换为0或Null?

4ktjp1zp

4ktjp1zp1#

使用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)

相关问题