2015-08-06 3 views
2

Я довольно новичок в SQL, поэтому надеюсь, что это не глупый вопрос, попытка Google, но ничего не могла найти.Teradata Изменить формат номера недели

Я суммирую продажи отделов в неделю в SQL и использую TD_SYSFNLIB.WEEKNUMBER_OF_YEAR (trans_dt), чтобы получить номер недели.

Я думаю, что все работает, за исключением того, что я хочу изменить формат недель до даты начала недели, например. неделя 1 = 1/4/15

Кроме того, я не уверен, как справиться с первой неделей недели 0, так как я думаю, что это должно быть сгруппировано с 52-й неделей прошлого года.

ответ

2

Следующая дата математике трюк вы должны получить Начало недели в качестве фактической даты, не присоединиться к мнению SYS_CALENDAR или с помощью функции:

SELECT CURRENT_DATE - ((CURRENT_DATE - DATE '0001-01-07) MOD 7) AS BOW; 
+1

Большое спасибо! Это потрясающе. – Kristofersen

1

Начиная с TD14 есть NEXT_DAY, который возвращает следующие день недели, если вы вычтите 7 дней, вы получите предыдущий день:

next_day(trans_dt - 7, 'sunday') 
+0

В последнее время сложно не отставать от расширения функций, поддерживаемых Teradata. Они добавляют их так быстро, что вам почти нужна быстрая эталонная карта для отслеживания. :) –

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