Я хочу иметь динамические c Oracle даты начала и окончания SQL, которые будут возвращать начальную дату <= 2019-12-31, когда Sys_Date>> = 16 ноября 2019. Часть YYYY критерии должны увеличиваться на один год, каждое 16 ноября. Например, когда Sys_Date> = 16 ноября 2020 года, запрос будет возвращать записи, имеющие start_date <= 2020-12-31, а 16 ноября 2021 года запрос вернет записи с датой начала <= 2021-12-31. </p>
Я использую Alteryx и инструменты IN-db. Я кратко знаком с этими Oracle функциями, SysDate, To_Date, Trun c, Add_Months и Next_Day.
Существует критерий end_Date, который также необходимо продвигать каждые 16 ноября на один год. По состоянию на сегодня, 13 января 2020 г., текущая возвращаемая конечная дата> = 2019-01-01. 16 ноября 2020 года возвращаемая конечная дата будет> = 2020-01-01.
Для этой работы Oracle SQL требуется ежегодное обновление 16 ноября.
"START_DATE" <= to_date('2019-12-31','yyyy-mm-dd')
and
"END_DATE" >= to_date('2019-01-01','yyyy-mm-dd')
Ниже приведен успешный код Alteryx с использованием функции DateTimeNow (не Oracle) для получения / выбора / передачи желаемых дат, но это не помогает мне с Oracle SQL.
Ниже приведен код (не Oracle), используемый в приложении Alteryx для запроса определенных дат файла с помощью функции datetimeToday.
([FileDt] > Datetimeformat(DatetimeAdd(DateTimeToday(),-1,"year"),'%Y-01-01'))
AND // pass [FileDt] > Jan 1 of current year -1 year
ToDate(DateTimeNow())< ToDate(tostring(DateTimeYear(DateTimeNow()))+"-11-15")
//pass files when today is < Nov 15 current year
OR
([FileDt] >= ToDate(tostring(DateTimeYear(DateTimeNow()))+"-01-01")
AND // pass [FileDt] >= Jan 1 of current year
ToDate(DateTimeNow())>= ToDate(tostring(DateTimeYear(DateTimeNow()))+"-11-15"))
// pass files when today is >= Nov 15 Current Year