获取当前时间的SQL查询

时间:2017-10-12 23:42:10

标签: java mysql sql time

我的项目即将获得学校的当前课程,我使用包含START_TIME(例如:16:00)和END_TIME(例如:18:00)列的表CLASSES创建了数据库。我有变量'hour',它将从系统中获取当前时间。

我的问题是:查询数据库以获取当前类的最佳方法是什么,例如(SELECT * FROM CLASSES WHERE START_TIME ='hour');

如果当前时间与开始时间相同,那对我有用,但如果当前时间在START_TIME和END_TIME之间怎么办?例如,课程是从(16:00到19:00),当前时间是15:00?怎么解决?

3 个答案:

答案 0 :(得分:0)

你可以这样使用between

SELECT * 
FROM CLASSES 
WHERE currentTime BETWEEN START_TIME AND END_TIME;

另一种选择是使用>=<=运算符。

答案 1 :(得分:0)

这个怎么样?

SELECT * FROM CLASSES WHERE 'hour' BETWEEN START_TIME AND END_TIME

但这取决于如何在DB中存储开始和结束时间。作为数值(例如16,18)?小时值怎么样?它也是数值吗? 在所有3个值都是数字的情况下,上面的查询将起作用。 如果它们以某种不同的格式存储,则应调整答案。

答案 2 :(得分:0)

这里有什么确切地解决了我的问题,只显示我想要的结果(不是在BETWEEN运算符所做的结果之前或之后):

SELECT * FROM CLASSES WHERE 'currentTime' >= START_TIME AND 'currentTime' < END_TIME