如何在PostgreSQL中存储毫秒的时间戳?

时间:2016-05-10 12:47:48

标签: database postgresql time

我需要在postgreSQL数据库中以yyyy-mm-dd hh:mm:ss.SSS(SSS代表毫秒)的格式存储时间戳。当然它可以作为文本/或varchar工作,但我需要"工作"带有时间戳(例如,在某个时间戳之前过滤所有实例 - 考虑毫秒)。 我如何在PostgreSQL中做到这一点?

非常感谢!
- 迈克

1 个答案:

答案 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时间戳的当前版本中存储为整数,因此不会出现浮点舍入问题