2015-02-11 3 views
0

Я работаю в Oracle BI с некоторым SQL и пытаюсь найти результаты для диапазона дат от начала прошлого месяца до 30 дней с сегодняшней даты. Я просмотрел все похожие статьи здесь и пробовал их кодирование, и никто из них не работал. Это последняя у меня есть:Найти записи старше 30 дней в oracle sql

ОТ "ИМЯ" ГДЕ "День Dimension" "Дата начала" < = TIMESTAMPADD (SQL_TSI_DAY, -30, ДАТА @ {день} ')

Это казалось. чтобы получить меня ближе, но Oracle не признает критерии «@ {day}». Может ли кто-нибудь помочь?

ответ

0

Для OBIEE сообщает:

timestampadd(SQL_TSI_DAY,-30,CURRENT_DATE) 

(ИЛИ)

SYSDATE, cast(EVALUATE('SYSDATE-30') as timestamp) 

Для SQLPLUS, попробуйте this- SYSDATE будет возвращать текущую дату; не вычитаем 30 для числа дней:

SELECT * 
FROM TABLE 
WHERE DATE_FIELD < SYSDATE-30; 

Ссылки:

http://oracle.ittoolbox.com/groups/technical-functional/oracle-bi-l/how-to-use-sysdate-function-in-obiee-reports-4291644

+0

Спасибо, но нет это не сработало, я получаю ошибку «Нерешенные колонки» для SYSDATE. Он не признает этого. –

+0

Я добавил 2 команды для отчетов OBIEE; исходная команда для SQLPLUS - будет ли работать одна из двух команд? Спасибо –

+0

Первый работал .... Мне нужен CURRENT_DATE ... Я пробовал почти все остальные. СПАСИБО! –

Смежные вопросы