我需要在传递查询中添加YTD日期范围参数。在过去,我一直在使用下面的行来提取YTD数据:
WHERE
TABLENAME.PKUP_DATE BETWEEN to_date('01/01/2016', 'mm/dd/yyyy') AND
to_date('08/02/2016', 'mm/dd/yyyy')
将来,我想在不输入日期范围的情况下提取YTD数据。这可以通过使用以下标准创建常规查询来完成:
Year([CPLD_DATE]) = Year(Date())
但是,当我将此行转换为传递查询时,它会出错。如果有人能用正确的语法帮助我,我将不胜感激。
答案 0 :(得分:0)
对我来说看起来像 PLSQL ,因此可能是:
WHERE
TABLENAME.PKUP_DATE
BETWEEN TRUNC(CURRENT_DATE, YEAR)
AND CURRENT_DATE
答案 1 :(得分:0)
使用纯SQL查询时,以下函数将起作用。基于SO very similar question。
WHERE PKUP_DATE > ADDDATE(year, -1, getdate());
但是,这与Oracle不兼容,导致我改为使用以下功能。
WHERE PKUP_DATE > ADD_MONTHS(SYSDATE, -12);