Я изучил все функции, доступные в преобразователе, но не смог найти точную функцию для получения последнего дня текущего месяца путем передачи даты в том же формате по умолчанию, то есть гггг-мм-дд. Пожалуйста, помогите мне в этом отношении.
Как получить последний день текущего месяца в DataStage?
comment
Привет. чтобы получить последний день месяца, вы должны использовать функцию DaysInMonth. вот пример: Date = inputlink.dateVar Year = YearFromDate(Date) Month = MonthFromDate(Date) Day = DaysInMonth(Date) EndOfMonth = DateFromComponents(Year,Month,Day)
- person funk   schedule 12.09.2013
comment
Помогла ли вам эта информация решить эту проблему?
- person funk   schedule 13.09.2013
comment
Но DaysInMonth() недоступен в версии 8.1, я использую версию DataStage 8.1. @фанк
- person Naveen Reddy CH   schedule 03.01.2014
comment
Привет. Это должно работать: Field(31|28|31|30|31|30|31|31|30|31|30|31, |, MonthFromDate(InLink.dateVar))
- person funk   schedule 06.01.2014
comment
Хм.. есть что-н. отсутствует в коде => обрабатывать високосный год (февраль: 28 или 29)
- person funk   schedule 06.01.2014
Ответы (3)
Поле("31|28|31|30|31|30|31|31|30|31|30|31", "|", MonthFromDate(InLink.dateVar))
person
funk
schedule
12.09.2013
Более точно установить первый день следующего месяца, чем использовать функцию DateFromDaysSince, чтобы установить предыдущий день. Я создал переменную этапа integer (6), которая содержала век и месяц + 1 из исходной ссылки, например. 201410
DateFromDaysSince(-1, StringToDate(svIHBKPR, "%гггг%мм") : "%гггг-%мм-%дд")
person
battaliou
schedule
08.10.2014
Существует функция преобразования под названием DaysInMonth. Пример: DaysInMonth("2017-01-23")= 31
person
Dr Software
schedule
23.01.2017