如何获取今天和第二天上午08点的时差-MYSQL

问题描述 投票:0回答:1

我是一个应用程序,每天以3个小时的间隔发送3x短信,但是如果当前时间大于17:00,则下一天的发送时间是第二天的08:00。

我像这样尝试,但给出了null:

if(current_time() < '17:00', DATE_ADD(current_time(), INTERVAL 5 HOUR), DATE_ADD(CURRENT_TIME(), INTERVAL (TIMEDIFF(CURRENT_TIME(),'08:00')) HOUR));

有人可以帮忙吗?

谢谢!

mysql sql date select
1个回答
0
投票

我认为您想要:

case when current_time < '17:00:00'
    then now() + interval 5 hour
    else current_date + interval 1 day + interval 8 hour
end

请注意,这似乎返回datetime数据类型的值,而不是time,因为您似乎想要日期部分。

如果您只想要time,则它甚至更简单:

case when current_time < '17:00:00'
    then current_time + interval 5 hour
    else '08:00:00'
end
© www.soinside.com 2019 - 2024. All rights reserved.