рассчитать в красном смещении номер недели в году как weeknum () в Excel - PullRequest
1 голос
/ 07 февраля 2020

Мне нужно вычислить в redhsift sql номер недели в году, начиная с воскресенья и заканчивая субботой и начиная с первого января, но обрезая первую неделю после наступления первой субботы. Вроде как WEEKNUM () работает в Excel:

, например, в 2020 году это будет (мм / дд / гггг)

  • 01/01/2020 -> weeknum = 1
  • ...
  • 01/04/2020 -> weeknum = 1
  • 01/05/2020 -> weeknum = 2
  • ...
  • 01/11/2020 -> weeknum = 2
  • 01/12/2020 -> weeknum = 3

while:

  • 12/31/2019 -> weeknum = "последняя неделя 2019 года"

Как мне этого добиться?

1 Ответ

0 голосов
/ 07 февраля 2020

Функция, которую вы ищете, это Функция извлечения .

. Она принимает следующую форму:

EXTRACT ( datepart FROM { TIMESTAMP 'literal' | timestamp } );

Итак, в вашем примере поиск номера недели из дата:

select extract(week from now());  -- today being 2/7/2020

Возвращает:

date_part
-----------
        6
(1 row)

Действительные литералы для оператора извлечения можно найти по этой ссылке в AWS документации .

...