我需要在postgreSQL数据库中以yyyy-mm-dd hh:mm:ss.SSS(SSS代表毫秒)的格式存储时间戳。当然它可以作为文本/或varchar工作,但我需要"工作"带有时间戳(例如,在某个时间戳之前过滤所有实例 - 考虑毫秒)。 我如何在PostgreSQL中做到这一点?
非常感谢!
- 迈克
答案 0 :(得分:7)
我知道这是一个老问题,但我遇到了类似的问题。
您可以使用timestamp(n)字段,其中n等于要在日期存储的精度的位数(timestamp(3)将为您提供毫秒精度)
示例强>
CREATE TABLE date_test (datetime timestamp(3) with time zone);
insert into date_test values(to_timestamp(1525745241.879));
select EXTRACT(epoch FROM datetime) from date_test;
注意:在postgres时间戳的当前版本中存储为整数,因此不会出现浮点舍入问题