有没有一种方法可以根据日期列为周数添加列?

时间:2020-04-07 23:37:37

标签: sql string date amazon-redshift

我想知道是否可以在SQL中读取日期列,并根据该日期创建一个新列,并自动获得周数。例如今天今天是2020年4月7日,那么查询将为此填充第15周?

enter image description here] 1

理想情况下,在“ datestr”旁边填充“星期”列。

谢谢![enter image description here] 2

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以使用extract。我不确定100%是Redshift的几周从星期日还是星期一开始,但是您可以调整间隔以测试边缘情况。

select datestr, extract(week from datestr + interval '1 day') as weeknum
from your_table

答案 1 :(得分:1)

在redshift中,您可以将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