SUBTIME返回的时差值不正确

时间:2018-11-12 07:59:45

标签: mysql

我有两次,开始时间和结束时间,结束时间总是大于开始时间,这是我的情况:

SUBTIME('22:00','06:00')

这将返回16:00,因为它将其视为同一日期,但06:00更大,因此差异应为08:00。我尝试了交换,但结果却改为-16。

是否可以在不将日期添加到时间值的情况下获取正确的值?

最终这样做了

SELECT * FROM Table
WHERE check_in BETWEEN CONCAT(schedule_date,' ',start_time) AND (CASE WHEN(SUBTIME(end_time, start_time) < 0) THEN CONCAT(schedule_date + INTERVAL 1 DAY,' ',end_time) ELSE CONCAT(schedule_date,' ',end_time) END)

1 个答案:

答案 0 :(得分:0)

然后不要使用简单的时间,而要使用日期。

For i=1 to lastRow
    Set targetCell = range(some range)
    Set pic = ws.pictures.insert(file name)
    With pic
        .Top = targetCell.Top
        .Left = targetCell.Left
    End With
Next i

这将返回SELECT TIMESTAMPDIFF(HOUR, CONCAT('1970-01-01 ', '22:00'), CONCAT('1970-01-02 ', '06:00')); ,当您希望将其作为8时,请尝试以下操作:

08:00