本文介绍了1月1日=第1周的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
下面给出了我的周编号其中第一周从2021年1月4日开始
date_trunc('week', transaction_date) as week_number
如何创建一周从1月1日开始,此后每周累计7天(每年)的WEEK_NUMBER?
并在年底向上/向下舍入到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周的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!