我想知道是否可以在SQL中读取日期列,并根据该日期创建一个新列,并自动获得周数。例如今天今天是2020年4月7日,那么查询将为此填充第15周?
] 1
理想情况下,在“ datestr”旁边填充“星期”列。
谢谢] 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