我到处搜索,找不到答案。
下表显示了课程的开始和结束时间。
我希望返回当前时间落在当前开始和结束时间之间的行。
开始和结束时间将根据当前时间而变化,因此无法输入特定值。
例如,如果当前时间是:
2016-02-05 20:15:00
然后它将返回 Class ID为6 的行。
答案 0 :(得分:3)
SELECT * FROM TABLE
WHERE Class_Start_Timestamp > GETDATE()
AND Class_End_Timestamp < GETDATE()
如果列不是日期时间:
SELECT * FROM TABLE
WHERE CAST(Class_Start_Timestamp AS datetime) > GETDATE()
AND CAST(Class_End_Timestamp AS datetime) < GETDATE()
你也可以使用“NOW()”(mysql)和“BETWEEN”,但快速google应该会产生很多选择......
答案 1 :(得分:3)
您可以使用以下任何一种查询
SELECT *
FROM Table
WHERE NOW() BETWEEN Class_Start_Timestamp AND Class_End_Timestamp
OR
SELECT *
FROM Table
WHERE NOW() >= Class_Start_Timestamp AND NOW() <= Class_End_Timestamp