3个月内的所有记录访问日期PHP上的WHERE子句

时间:2014-04-09 17:24:40

标签: php sql oracle

我想对数据库中的记录存储进行Quater明智搜索。问题是我不知道如何在日期中使用BETWEEN。任何帮助将不胜感激。

SELECT * FROM ACED 
         INNER JOIN RACE
         ON ACED.RACE_NO=RACE.RACE_NO

         WHERE R_DATE 
         BETWEEN 
         TO_CHAR(TO_DATE(R_DATE, 'DD-MON-YYYY'), 'MON-YY') = 'JAN-14'
         AND
         TO_CHAR(TO_DATE(R_DATE, 'DD-MON-YYYY'), 'MON-YY') = 'MAR-14'

2 个答案:

答案 0 :(得分:2)

SELECT * FROM ACED 
         INNER JOIN RACE
         ON ACED.RACE_NO=RACE.RACE_NO
         WHERE   
         TO_CHAR(R_DATE,'Q') = 1;
格式模型中的

Q为您提供一年中的四分之一。 1月至3月是第1季度。等等。

答案 1 :(得分:1)

between以相同的方式处理日期,数字,字符串等 - 您只需要确保传递date个参数而不是字符参数(这会导致操作符进行词典编写)比较)。 E.g:

SELECT     * 
FROM       aced
INNER JOIN race ON aced.race_no = race.race_no
WHERE      r_date BETWEEN TO_DATE('01-14','mm-yy') AND 
                          TO_DATE('03-14','mm-yy')