微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PostgreSQL 为日期 2021-01-01

如何解决PostgreSQL 为日期 2021-01-01

如果我运行以下查询,我会得到非常奇怪的结果。我从 1 月 4 日星期一开始获得 第 1 周(正如预期的那样)。我在一组查询中使用它来计算每周的 Covid 病例数,这完全毁了我的一天:/

SELECT date_part('week','2021-01-01'::date) as week,date_part('year','2021-01-01'::date) as year;
week year
53   2021

版本:Postgresql 12.3 on x86_64-pc-linux-musl,由 gcc (Alpine 9.3.0) 9.3.0 编译,64 位

解决方法

As documented in the manual 'week' 使用 ISO definition 作为第一周。

要获得相应的 (ISO) 年份,请使用 'isoyear'

SELECT date_part('week','2021-01-01'::date) as week,date_part('isoyear','2021-01-01'::date) as year;

以上正确 returns 53,2020

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。