Есть ли способ добавить в столбце номер недели в зависимости от столбца даты? - PullRequest
0 голосов
/ 08 апреля 2020

Мне было интересно, возможно ли в SQL прочитать в столбце даты и на основе этой даты создать новый столбец и автоматически иметь также номер недели. Например, сегодня 4/7/2020, поэтому запрос будет заполнен на 15-й неделе для этого?

enter image description here] 1

На рисунке столбец недели в идеале будет заполнен рядом с 'datestr'.

Спасибо ![enter image description here] 2

enter image description here

Ответы [ 2 ]

1 голос
/ 08 апреля 2020

В режиме красного смещения вы можете использовать date_part() со спецификатором w, чтобы получить номер недели для даты или отметки времени:

select t.*, date_part(w, datestr) week_number from mytable t

Обратите внимание, что недели начинаются в понедельник в Redshift. Если вы хотите, чтобы неделя начиналась в воскресенье:

select t.*, date_part(w, datestr + interval '1' day) week_number from mytable t
1 голос
/ 08 апреля 2020

Вы можете использовать extract. Я не уверен на 100%, начинаются ли недели в Redshift с воскресенья или понедельника, но вы можете настроить интервал для проверки крайних случаев.

select datestr, extract(week from datestr + interval '1 day') as weeknum
from your_table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...