这是我到目前为止的代码
"select * from schedule_tbl where sname = '" & Label4.Text &"'
and starting_time <= ending_time and ending_time >= starting_time
and day = DATE_FORMAT(Now(),'%W')"
starting_time ending_time day
07:00:00 08:30:00 Tuesday
08:30:00 10:00:00 Tuesday
它只返回数据库中的第一条记录。我想要的是,如果现在的时间是上午 8:30,那么下一个时间表将显示为上午 8:30 - 上午 10:00。我如何使用上面的代码来做到这一点?或者还有其他方法可以实现这一点吗?
示例架构
最佳答案
您想要添加“我希望开始时间小于或等于现在”逻辑,可以通过 starting_time<=DATE_FORMAT(NOW(),'%T')
来完成:
"select * from schedule_tbl where sname = '" & Label4.Text &"'
and starting_time <= ending_time and starting_time<=DATE_FORMAT(NOW(),'%T')
and day = DATE_FORMAT(Now(),'%W')"
请注意,正如评论中提到的,ending_time >= starting_time
是多余的,因为它满足 starting_time <= ending_time
.
关于mysql - 使用 Date_Format MySQL 获取最短时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35871603/