本文介绍了1月1日=第1周的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面给出了我的周编号其中第一周从2021年1月4日开始

date_trunc('week', transaction_date)     as week_number
  1. 如何创建一周从1月1日开始,此后每周累计7天(每年)的WEEK_NUMBER?

  2. 并在年底向上/向下舍入到52周?

尝试的代码:这不能给我答案,但我认为这样的方法可能会奏效.

ceil(extract(day from transaction_date)/7) as week_number

预期输出:

2020年1月1日1
2020年01月8日2
..
2020年12月31日52
2021年1月1日1
2021年1月8日2
..
2021年12月27日52
2021年12月28日52
2021年12月29日52
2021年12月30日52
2021年12月31日52
2022年1月1日1

提前感谢!

推荐答案

简单的方法是使用日期算法:

select 1 + (transaction_date - date_trunc('year', transaction_date)) / 7 as year_week

这篇关于1月1日=第1周的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-29 19:34