【发布时间】:2014-02-11 08:31:44
【问题描述】:
有没有办法用 SQL Query 计算时间范围的小时数。
接受时间为 08.00 - 12.00 和 13.00-16.00
我有 2 列 start_time , end_time 在 time_table 表
问题 1
开始时间 = 08:00:00
end_time = '12:00:00'
时间范围的小时 = 08.00 - 12.00 的 4 小时
问题 2
start_time = '07:00:00'
end_time = '10:00:00'
时间范围的小时 = 08.00 - 10.00 的 2 小时
问题 3
start_time = '10:00:00'
end_time = '17:00:00'
时间范围 = 10.00 - 12.00 和 13.00 - 16.00 之间的 5 小时
谢谢你,谢里夫
【问题讨论】:
-
如果您可以更改表架构,请考虑将
start_time和end_time转换为DATETIMEorTIMESTAMP,然后您可以使用任意数量的内置日期时间函数,例如TIMEDIFF. -
现在用TIME不行吗?
-
我看不出日期/时间函数有什么优势。这是一个简单的数轴。
-
@Strawberry 您如何建议在没有字符串操作的情况下使用算术运算对
08:00:00和12:00:00进行差异计算?当然,既然我们知道 OP 的架构使用TIME,我的评论就无效了。 -
例子是TIME类型。
标签: mysql