我是一个相当新的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())可能不起作用?
感谢您理解我的愚蠢问题
答案 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;