【发布时间】:2015-07-18 12:02:20
【问题描述】:
我有桌子:
CREATE TABLE B(
...
date1 TIMESTAMP(6),
date2 TIMESTAMP(6),
...);
我想获得两个时间戳之间的小时数。所以我运行查询:
SELECT (date1 - date2)*24 from B;
结果如下所示:+000000024 00:00:00.000000 但我想要 24:00 这样的结果。如何格式化查询?谢谢
【问题讨论】:
我有桌子:
CREATE TABLE B(
...
date1 TIMESTAMP(6),
date2 TIMESTAMP(6),
...);
我想获得两个时间戳之间的小时数。所以我运行查询:
SELECT (date1 - date2)*24 from B;
结果如下所示:+000000024 00:00:00.000000 但我想要 24:00 这样的结果。如何格式化查询?谢谢
【问题讨论】:
SELECT to_char((date1 - date2)*24,'HH24:MI') from B;
【讨论】:
只需使用子查询从表达式中提取小时数
SELECT extract( hour from x) hours FROM
(SELECT (date1 - date2)x FROM B)
【讨论】: