[英]PostgreSQL real type vs double type query result confusion
我有下表:
CREATE TABLE number_data_types
(
numeric_column NUMERIC(20,5),
real_column REAL,
double_column DOUBLE PRECISION
);
插入以下样本数据:
INSERT INTO number_data_types
VALUES
(2.13579, 2.13579, 2.13579),
(2.1357987654, 2.1357987654, 2.1357987654);
SELECT * FROM number_data_types;
结果:
2.13579;2.13579;2.13579
2.13580;2.1358;2.1357987654
第二行查询结果为何是REAL
类型的“ 2.1358” ?
我不太明白这个问题。 您有两个值:
2.13579
2.1357987654
当Postgres放置实际值时,它将删除尾随的零。 至少有六个有效数字,因此它们被解释为非常接近:
2.13579
2.13580
但是,结果集中抑制了0
。 如果将2.13580
插入实数列,则可以很容易地看到这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.