在PostgreSQL中处理NaN

如何处理NaN在PostgreSQL中

作为一个数值常数的NaN

可以使用值为 ‘NaN’ 的数据类型 NUMERIC。

postgres=# select 'NaN'::NUMERIC;
 numeric
---------
     NaN
(1 row)

postgres=#

判断NaN

只需要将’NaN’::NUMERIC与其他值进行比较即可。

postgres=# create table hoge (num1 numeric);
CREATE TABLE
postgres=# insert into hoge values('NaN'::NUMERIC);
INSERT 0 1
postgres=# select * from hoge;
 num1
------
  NaN
(1 row)

postgres=# select * from hoge where num1 = 'NaN'::NUMERIC;
 num1
------
  NaN
(1 row)

postgres=#

::即使没有数字化

可以的

postgres=# insert into hoge values('NaN');
INSERT 0 1
postgres=# select * from hoge;
 num1
------
  NaN
  NaN
(2 rows)

postgres=# select * from hoge where num1 = 'NaN';
 num1
------
  NaN
  NaN
(2 rows)

postgres=#

请参考

 

在手册中也有提到。
可以使用’无穷大’或者’负无穷大’。

广告
将在 10 秒后关闭
bannerAds