如何检查日期值是否等于夏季期间的日期。
我希望它类似于:
SELECT Row WHERE Orderdate BETWEEN '01/01/%' AND '31/08/%'
但是我不允许在BETWEEN条款中使用通配符,对吗?
/编辑
这很有效,谢谢你们两个人!对不起,我只能选择一个正确答案。
答案 0 :(得分:1)
我不允许在BETWEEN中使用通配符,对吧?
不,但你可以这样做:
SELECT Row WHERE MONTH(Orderdate) BETWEEN 1 AND 8
请注意,在MONTH(Orderdate)
上添加索引会显着加快此查询速度,因为否则必须执行INDEX SCAN或TABLE SCAN。
答案 1 :(得分:1)
你想要"夏天" (未定义)期间。大多数SQL数据库都允许您这样做:
WHERE month(Orderdate) in (6, 7, 8)
否则,您可以使用extract(month from OrderDate) in (6, 7, 8))
。
这假定月份期间定义为6月,7月和8月。此外,还有许多其他特定于数据库的解决方案。