2016-09-02 5 views
0

У меня есть поле даты, приходящее из источника paid_date, и я хочу, чтобы оно конвертировалось как trunc (next_day (sysdate-1, 'MON')) .. Мне нужно получить NEXT_DAY здесь и тип данных с данными - дата-время. Пожалуйста, поделитесь своими входом.Как получить следующий день date in informaitca

ответ

0

К сожалению, на данный момент в Informatica нет эквивалента NEXT_DAY. Поэтому вы должны рассчитать его так, как в выражении.

TRUNC(
    ADD_TO_DATE(
    SYSDATE, 
    'DD', 
    (9 - TO_FLOAT(TO_CHAR(SYSDATE,'D')))%7 
) 
) 

Объяснение:

(9 - TO_FLOAT(TO_CHAR(SYSDATE,'D')))%7 - Вычисляет количество дней до следующего понедельника.

ADD_TO_DATE(SYSDATE,'DD',...) - Добавляет вышеуказанное №. дней до даты ввода

0

В этом случае вы можете использовать функцию Add_To_Date. Используя эту функцию, вы можете получить точную дату или месяц или год.

Форматы определения даты, Даты - DD, DDD, DY и DAY
месяц - ММ, MON и МЕСЯЦ
года - YY, YYY и YYYY
Hour - HH, HH12 и HH24
минуты - MI
секунды - SS

Синтаксис: ADD_TO_DATE (date_column, формат, значение)

Пример: ADD_TO_DATE (Дата, 'DD', 10)
Результат:

10/01/2016 - 20/01/2016 

Поскольку формат предусмотрен как «DD» и значение, как 10, даты отображаются путем увеличения 10 дней. Эта логика означает дату, месяц, год, минуту, час или секунды, которые определены в синтаксисе. Чтобы уменьшить значение даты, просто добавьте отрицательное число (-10).

Чтобы получить на следующий день, просто определите ADD_TO_DATE (Ваша колонка, 'DD', 1).

Для получения более подробной информации о Informatica просто посетите мой блог, http://etlinfromatica.wordpress.com/

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

  • Нет связанных вопросов^_^