【发布时间】:2018-05-08 05:31:30
【问题描述】:
在 Postgres 中,我试图创建一个具有微秒精度的时间戳字段。
如果我查询可打印格式的时间戳,它会显示精确到微秒的日期,但如果我查询纪元,它只会显示 5 位数字...
示例:
CREATE TABLE date_test (datetime timestamp(6) WITH TIME ZONE);
INSERT INTO date_test VALUES(TO_TIMESTAMP(1525745241.879112));
SELECT datetime FROM date_test; //returns 2018-05-08 12:07:21.879112+10
SELECT EXTRACT(epoch FROM datetime) from date_test; //returns 1525745241.87911
最后一位数字丢失的原因是什么?查询是否固有地转换为浮点并失去准确性?有什么简单的方法可以在 Postgres 中以微秒精度存储日期?
【问题讨论】:
标签: sql postgresql