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

Xmi*_*keX 6 database postgresql time

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

非常感谢!
- 迈克

Ale*_*aut 12

我知道这是一个老问题,但我遇到了类似的问题.

您可以使用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;
Run Code Online (Sandbox Code Playgroud)

注意:在当前版本的postgres中,时间戳存储为整数,因此不会出现浮点舍入问题

  • 感谢您抽出宝贵时间回答,节省了一些时间. (2认同)