У меня есть поле даты, приходящее из источника paid_date, и я хочу, чтобы оно конвертировалось как trunc (next_day (sysdate-1, 'MON')) .. Мне нужно получить NEXT_DAY здесь и тип данных с данными - дата-время. Пожалуйста, поделитесь своими входом.Как получить следующий день date in informaitca
ответ
К сожалению, на данный момент в 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',...)
- Добавляет вышеуказанное №. дней до даты ввода
В этом случае вы можете использовать функцию 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/