我有以下两个日期,它们是varchar(50)的形式.
Date1:2016-11-24 12:38:29.123
Date2: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