我有以下两个日期,其格式为 varchar(50)。
日期 1:2016-11-24 12:38:29.123
日期 2:2016-04-22 11:44:55
Date1
的第一个日期包含毫秒,Date2
包含直到秒。
所以我进行了转换,以从两个日期起床数秒。
使用:
SELECT ('2016-11-24 12:38:29.123'::timestamp(0) - '2016-04-22 11:44:55'::timestamp(0));
输出:
216 天 00:53:34
注意:现在我想将 216 天 00:53:34
转换为毫秒。
我的尝试:
SELECT EXTRACT(MILLISECONDS FROM(CAST('2016-11-24 12:38:29.123' AS timestamp(0)) - CAST('2016-04-22 11:44:55' AS timestamp(0))));
输出:
34000
问题:34000
不是 216 天 00:53:34
的精确毫秒。
最佳答案
您正在寻找 epoch
,它返回间隔中存储的秒数。
SELECT extract(epoch from timestamp '2016-11-24 12:38:29.123' - timestamp '2016-04-22 11:44:55');
返回:18665614
关于PostgreSQL 9.5 : Convert intervals INTO milliseconds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40779574/