我正在尝试创建一个报告,而不是用户将来可以运行的报告。我需要指定一个日期范围,在这种情况下,这将是过去6周的数据。我在此报告中使用的日期字段是app_receipt_date。我只是想学习如何使用类似于excels today()函数的函数。
这是sql语句。忽略我运行它的最后一个实例的日期。我再一次尝试“自动化”这一前进。
select a.underwriting_app_id,
q.underwriting_quote_id,
a.application_source,
q.insured_id,
q.policy_year,
a.underwriting_rep,
--b.marketing_rep,
a.mail_name,
a.app_receipt_date,
a.effective_date,
a.expiration_date,
SUBSTR(TO_CHAR(a.effective_date, 'MM/DD/YYYY'), 1,2) as Month,
a.underwriting_app_status,
s.description,
a.last_status_date,
a.governing_class_code_id,
q.annual_premium,
q.create_date,
q.create_user
from underwriting_app a,
app_quote q,
underwriting_app_status s
where a.underwriting_app_id = q.underwriting_app_id and
a.underwriting_app_status = s.underwriting_app_status and
--a.agency_no = b.agency_no (+) and
q.active_quote_flag = 'Y' and
a.app_receipt_date > to_date('04-Nov-2012','dd-mm-yyyy') and
a.app_receipt_date < to_date('17-Dec-2012','dd-mm-yyyy')
提前感谢您的帮助。
布拉德
答案 0 :(得分:2)
如果您在Oracle中,请使用“SYSDATE”作为当前日期,并且可以添加直接加法和减法的天数。如果你可以假设一周是7天,你可以这样做:
SELECT * FROM Your_Table
WHERE app_receipt_date > SYSDATE - (6 * 7);
“* 7”仅表示您将六周乘以七天。
答案 1 :(得分:1)
如果您正在使用T-SQL,您可以使用GETDATE()函数获取今天的日期,然后您可以使用DATEADD()函数调整值以获得您的范围,所以你可以使用类似的东西:
SELECT * FROM Your_Table
WHERE app_receipt_date > DATEADD(week,-6,GETDATE());
希望这有帮助。