我正在使用数据类型时间来计算所采用的课程时间。为了计算,我使用TIMEDIFF(endtime,starttime)
。
SELECT TIMEDIFF('00:26:08','21:58:18') FROM students_session WHERE id='#'
我没有得到02:27:50
的正确o / p。相反,我得到-21:32:10
,这是错误的。
如何纠正这个问题?
答案 0 :(得分:1)
问题是你知道'00:26:08'
在'21:58:18'
之后(早上),但是MySQL并不知道,因此从MySQL的角度来看结果是正确的
您需要提供日期部分,end_date
落到第二天,或者您需要将24小时(1天)添加到end_date
。这些将告诉MySQL end_date
大于start_date
,您将获得预期的结果。
SELECT TIMEDIFF(timeadd('00:26:08','24:00:00'),'21:58:18') from students_session where id='#'