我需要在PostgreSQL数据库中以yyyy-mm-dd hh:mm:ss.SSS(SSS代表毫秒)的格式存储时间戳。当然,它可以作为一个文本/或varchar工作,但我需要“工作”的时间戳(例如。过滤在某个时间戳之前的所有示例-考虑毫秒)。在PostgreSQL中如何做到这一点?
yyyy-mm-dd hh:mm:ss.SSS
lxkprmvk1#
我知道这是一个老问题,但我也遇到过类似的问题。您可以使用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 timestamp是以整数形式存储的,所以不会出现浮点舍入问题
1条答案
按热度按时间lxkprmvk1#
我知道这是一个老问题,但我也遇到过类似的问题。
您可以使用timestamp(n)字段,其中n等于要存储的日期精度的位数(timestamp(3)将给予毫秒精度)
示例
注意:当前版本的postgres timestamp是以整数形式存储的,所以不会出现浮点舍入问题