【发布时间】:2017-08-27 13:10:05
【问题描述】:
运行此查询时:
SELECT
start_date,
end_date,
end_date-start_date as timediff
FROM content_events
我得到一张这样的表:
+---------------------+---------------------+-----------------+
| start_date | end_date | timediff |
+---------------------+---------------------+-----------------+
| 2017-03-23 23:00:00 | 2017-04-01 22:00:00 | 8 days 23:00:00 |
+---------------------+---------------------+-----------------+
但我想得到这样的东西:
+---------------------+---------------------+-----------------+
| start_date | end_date | timediff |
+---------------------+---------------------+-----------------+
| 2017-03-23 23:00:00 | 2017-04-01 22:00:00 | 8,96 |
+---------------------+---------------------+-----------------+
请注意,我只需要将时差作为带有两位小数的数值。
我使用的是 PostgreSQL 8.0.2。
非常感谢!
【问题讨论】:
-
SELECT ..., extract(epoch from end_date-start_date)/(24*60*60) as timediff FROM content_events;Doc -
你确定版本吗?..
-
@VaoTsun 是的,这就是我得到的:i686-pc-linux-gnu 上的 PostgreSQL 8.0.2 版本,由 GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2- 6.fc3)、红移 1.0.1232
-
啊,红移...
-
嗨 @Abelisto 刚刚意识到计算在某些日期无法正常工作 screencast.com/t/Kjg9eord5Lco 正如您在该屏幕截图中看到的那样,使用 start_date 时:'02/04/ 17 22:00' 和 end_date: '20/05/17 22:00',差异不正确。它返回 78 天。 注意: Days Left 列是 end_date 和 current_date 之间的差异
标签: sql date casting amazon-redshift