浮点数类型有:real、double precision,它们是不精确的、变精度的数字类型。 注意: 1.要求精确计算的,需要使用numeric 2.浮点数等值比较,可能不是想象中的结果。 浮点类型的特殊值: * infinity (正无穷) * -infinity (负无穷) * NaN (不是一个数字not a number 示例: postgres=# insert into test(col1) values ('InFiNity'); ERROR: invalid input Syntax for type numeric: "InFiNity" LINE 1: insert into test(col1) values ('InFiNity'); ----numeric没有infinity postgres=# create table testflo(col1 real,col2 double precision); CREATE TABLE postgres=# \d testflo Table "public.testflo" Column | Type | Modifiers --------+------------------+----------- col1 | real | col2 | double precision | postgres=# insert into testflo values('InfInitY','-InfiniTY'); INSERT 0 1 postgres=# insert into testflo values('InfiNity','nan'); INSERT 0 1 postgres=# select * from testflo; col1 | col2 ----------+----------- Infinity | -Infinity Infinity | NaN (2 rows) postgres=#