从当前日期捕获数据到特定日期

时间:2016-06-03 21:53:06

标签: sql oracle

我是一个相当新的sql,我正在使用birt报告设计器,我认为它使用的是oracle sql。 好吧,我知道我的问题会很简单,请饶恕我,我做了一些搜索,找不到答案,这将是我最后的选择(发布在这里)。

所以这是我的问题, 我有一个包含日期的表,下面是示例表,

Student ID    Nationality    Enrollment date    
1               american            4-15-2015
2               american            1-23-2016
3               Indian              8-19-2016
4               Iranian             7-3-2015
5               Chinese             11-11-2014
6               Australian          12-1-2014

由于我已使用以下查询设置此表:

Select 
        a.student_ID
        a.nationality
        b.enrollment_date

    from    Infotable a
    Inner join datetable b
            On a.student_ID = b.student_ID

由于这个sql绑定到一个报告,我想知道我可以在[where]子句中使用哪个查询来向我展示 数据来自特定日期(2014年11月11日)至当前日期。

总结一下,我想知道从特定日期到今天的所有日期。

  

或者让它变得更难

     

如果我安排报告每周一,下周一报告   (6月6日)将有所有报名日期   11/11 / 2014-6 /二千〇一十六分之六。在那之后的星期一,所有的入学日期将从11/11 / 2014-6 / 13 ......等等。

我可以执行to_date的[between]子句,但我不知道在当前日期查询中放什么。

b.enrollment_date BETWEEN
  TO_DATE('11-11-2014','MM-dd-yyyy') AND
  TO_DATE('7-23-2015','MM-dd-yyyy') << how can this be changed to current date?

我尝试使用sysdate但没有工作

b.enrollment_date BETWEEN
      TO_DATE('11-11-2014','MM-dd-yyyy') AND
      sysdate()

当前日期也不起作用:(

b.enrollment_date BETWEEN
      TO_DATE('11-11-2014','MM-dd-yyyy') AND
      current_date
是的,我正在使用oracle所以我认为getdate())可能不起作用?

感谢您理解我的愚蠢问题

1 个答案:

答案 0 :(得分:0)

SYSDATE不需要尾随括号:

SELECT  a.student_ID
        a.nationality
        b.enrollment_date
FROM    Infotable a
        INNER JOIN datetable b
        ON ( a.student_ID = b.student_ID )
WHERE   b.enrollment_date BETWEEN DATE '2014-11-11' AND SYSDATE;