gpt4 book ai didi

sql - 如何获得今年年初以来过去了多少天?

转载 作者:行者123 更新时间:2023-11-29 12:30:56 25 4
gpt4 key购买 nike

我有一个查询需要知道自当年 1 月 1 日以来过去了多少天。

这意味着如果查询运行例如:

2nd Jan 2017 than it should return 2 (as 2 days passed since 1st Jan 2017).

10th Feb 2016 than it should return 41 (as 41 days passed since 1st Jan 2016).

基本上它需要从 Curent Date 中获取 Current Year 并计算自 1/1/(Year) 以来的天数。

我有当前年份:SELECT EXTRACT(year FROM CURRENT_DATE);

我创建了 1 月 1 日:

select (SELECT EXTRACT(year FROM CURRENT_DATE)::text || '-01-01')::date

如何获取此日期与 Current_Date 之间的差异?

基本上这个问题可以给定两个日期,它们之间有多少天

age(timestamp '2016-01-01', timestamp '2016-06-15') 不好 因为我只需要结果天。而年龄以年、月和日给出。

最佳答案

一种更简单的方法可能是从日期中提取年中的第几天(“doy”)字段:

db=> SELECT EXTRACT(DOY FROM CURRENT_DATE);
date_part
-----------
41

如果你需要它作为一个数字,你可以直接转换它:

db=> SELECT EXTRACT(DOY FROM CURRENT_DATE)::int;
date_part
-----------
41

注意:结果 41 是今天 2 月 9 日运行查询产生的。

关于sql - 如何获得今年年初以来过去了多少天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35309400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com