我的数据库中有一个 startDate 和 endDate 的事件。
我需要在事件发生的每一天显示此事件(基于当前日期)。
因此,如果事件从5月3日开始并在5月7日结束,则SQL查询必须每天都找到它。
我怎样才能做到这一点?
SELECT * FROM events WHERE startDate ???
答案 0 :(得分:3)
假设SQL Server:
SELECT *
FROM events
WHERE getdate() between startDate and endDate
答案 1 :(得分:2)
哦,试试:
SELECT * FROM events WHERE GetDate()BETWEEN startDate AND endDate
基本上,您告诉数据库查找当前日期(使用GetDate()函数)并查看它是否位于给定事件的开始日期和结束日期之间!
只是详细说明一下,我记得在学校里遇到的一件事就是在查询中使用函数。 SQL有许多内置函数,比如GetDate(),你可以在查询的任何地方使用它们:在WHERE子句中与给定查询中的值进行比较,如果你需要对你的数据执行某些操作,则在SELECT子句中想要输出等...不要害怕使用'他们! =)