Мне было труднее всего преобразовать этот T- SQL в TeraData SQL. Может ли кто-нибудь помочь мне с этим. Я бы действительно оценил это. Я не понимаю преобразование дат с teradata. Я в замешательстве.
Пример финансового месяца: Запуски: 2020-22-01 - Концы: 2020-21-01 Этот запрос доставляет результаты данных в течение финансового месяца с начал там положение. Пример: 21.08.2009
,CASE WHEN DAY(POSITION_START_DT) BETWEEN 22 AND 31
THEN CAST(
CONCAT(
CAST(YEAR(POSITION_START_DT)AS VARCHAR(4)),
CASE WHEN LEN(MONTH(POSITION_START_DT)) = 1 THEN '-0' ELSE '-'END,
CAST(MONTH(POSITION_START_DT)AS VARCHAR(2)),
'-21')
AS date)
WHEN DAY(POSITION_START_DT) BETWEEN 1 AND 6
THEN CAST(
CONCAT(
CAST(YEAR(DATEADD(MONTH,-1,POSITION_START_DT))AS VARCHAR(4)),
CASE WHEN LEN(MONTH(DATEADD(MONTH,-1,POSITION_START_DT))) = 1 THEN '-0' ELSE '-'END,
CAST(MONTH(DATEADD(MONTH,-1,POSITION_START_DT))AS VARCHAR(2)),
'-21')
AS date)
ELSE CAST(
CONCAT(
CAST(YEAR(DATEADD(MONTH,0,POSITION_START_DT))AS VARCHAR(4)),
CASE WHEN LEN(MONTH(DATEADD(MONTH,0,POSITION_START_DT))) = 1 THEN '-0' ELSE '-'END,
CAST(MONTH(DATEADD(MONTH,0,POSITION_START_DT))AS VARCHAR(2)),
'-21')
AS date) END AS FISCAL_START_MONTH_INSALES
Бюджетное ведение владения использует поле «Fiscal_Start_Month_insales» и группирует сотрудника в ведро. Ведра: - 0_3_MONTHS - 4_6_MONTHS - 7_12_MONTHS - 13_24_RU - 13_24_RU - Иначе Неизвестно
,CASE WHEN DATEDIFF(Day,FiscalStartMonthInSales,CURRENT_DATE)/30 >= 25 THEN '25_PLUS_MONTHS'
WHEN DATEDIFF(Day,FiscalStartMonthInSales,CURRENT_DATE)/30 BETWEEN 13 AND 24 THEN '13_24_MONTHS'
WHEN DATEDIFF(Day,FiscalStartMonthInSales,CURRENT_DATE)/30 BETWEEN 7 AND 12 THEN '7_12_MONTHS'
WHEN DATEDIFF(Day,FiscalStartMonthInSales,CURRENT_DATE)/30 BETWEEN 4 AND 6 THEN '4_6_MONTHS'
WHEN DATEDIFF(Day,FiscalStartMonthInSales,CURRENT_DATE)/30 BETWEEN 0 AND 3 THEN '0_3_MONTHS'
ELSE 'Unknown' END as PositionTenureBucket
Приветствия ~ Аррон