SQL:验证日期是否在两个日期之间

时间:2014-04-01 13:52:07

标签: sql

如何检查日期值是否等于夏季期间的日期。

我希望它类似于:

SELECT Row WHERE Orderdate BETWEEN '01/01/%' AND '31/08/%'

但是我不允许在BETWEEN条款中使用通配符,对吗?

/编辑

这很有效,谢谢你们两个人!对不起,我只能选择一个正确答案。

2 个答案:

答案 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月。此外,还有许多其他特定于数据库的解决方案。