gpt4 book ai didi

mysql - SUBTIME 返回错误的时差值

转载 作者:行者123 更新时间:2023-11-29 16:42:45 25 4
gpt4 key购买 nike

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

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)

最佳答案

那就不要使用简单的时间,而是使用日期。

SELECT TIMESTAMPDIFF(HOUR, CONCAT('1970-01-01 ', '22:00'), CONCAT('1970-01-02 ', '06:00'));

这将返回 8,当您希望将其设置为 08:00 时,请尝试以下操作:

SELECT SEC_TO_TIME(TIMESTAMPDIFF(SECOND, CONCAT('1970-01-01 ', '22:00'), CONCAT('1970-01-02 ', '06:00')));

关于mysql - SUBTIME 返回错误的时差值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53257936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com