多年的SQL查询日期范围

时间:2015-04-04 16:24:25

标签: mysql sql date

我需要在多年内将所有销售额放在一定范围内(一个月的第一个/最后两个星期)。像

这样的东西

SELECT * FROM sales_history.transactions WHERE 
TRANS_DATE BETWEEN LIKE '%-04-01' AND LIKE '%-04-14'

上述当然不起作用。 TRANS_DATE是DATE类型。

我想过做类似的事情

SELECT * FROM sales_history.transactions WHERE 
TRANS_DATE BETWEEN '2007-04-01' AND '2007-04-14' OR 
TRANS_DATE BETWEEN '2008-04-01' AND '2008-04-14' OR 
TRANS_DATE BETWEEN '2009-04-01' AND '2009-04-14'

但似乎应该有一种更简单的方法来做到这一点,我需要的时间越多,它就越痛苦。理想情况下,我希望能够定义开始年份和结束年份,但我可以使用直接通配符来获取年份并从数据库中获取所有年份的数据。

1 个答案:

答案 0 :(得分:2)

SELECT  * FROM sales_history.transactions WHERE
MONTH(TRANS_DATE)=4 AND DAY(TRANS_DATE) BETWEEN 1 AND 14
祝你好运:D