首页 > 解决方案 > 如果存在 mysql 小时功能,如何获得半小时

问题描述

我想从下面的查询中得到 8:30 小时而不是 8 小时

   HOUR(TIMEDIFF('2018-12-01 07:00:00','2018-12-01 15:30:00')

Mysql 小时函数只返回小时数而不是半小时

标签: mysql

解决方案


您可以同时调用HOUR and MINUTE,后者来获取分钟组件:

SELECT
    HOUR(TIMEDIFF('2018-12-01 07:00:00','2018-12-01 15:30:00')) +
    MINUTE(TIMEDIFF('2018-12-01 07:00:00','2018-12-01 15:30:00')) / 60.0 AS hours
FROM yourTable;

这会输出8.5小时数。

另一种选择是首先将两个时间戳转换为自纪元以来的秒数的 UNIX 时间戳。然后将它们的差异转换回小时:

SELECT
    (UNIX_TIMESTAMP('2018-12-01 15:30:00') -
     UNIX_TIMESTAMP('2018-12-01 07:00:00')) / 3600.0 AS hours
FROM yourTable;

演示


推荐阅读