繁体   English   中英

PostgreSQL实型vs双重类型查询结果混乱

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM