gpt4 book ai didi

sql - 获取两个日期列之间的月、日差

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

我正在尝试修复我的数据库中的一些问题,我想根据其他 2 个日期列重新计算我的数据库中的列。这个 col 是 float ,我想得到 2 个日期之间的差值,以月为单位,小数点为天。

例如,如果我有 2 个日期 '2016-01-15', '2015-02-01' 差异应该是 12.5 最好的 12 个月差异和 0.5 剩余 15 天

这是我到目前为止根据搜索所做的尝试,但我认为我遗漏了一些东西,因为它告诉我我的日期列有错误,因为它不存在

Select EXTRACT(year FROM vehicle_delivery(date, vehicle_received_date))*12 + EXTRACT(month FROM vehicle_delivery(date, vehicle_received_date));

vehicle_delivery 是我的表名,date 是我的结束日期,vehicle_received_date 是我的开始日期

同样的事情发生在这个 sql 上:

select extract('years' from vehicle_delivery) * 12 + extract('months' from vehicle_delivery) + extract('days' from vehicle_delivery) / 30
from (select age(date::timestamp, vehicle_received_date::timestamp)) a;

最佳答案

SQL 应该是这样的:

select extract(year from diff) * 12 + extract(month from diff) + extract(day from diff) / 30
from (select age(date::timestamp, vehicle_received_date::timestamp) as diff
from vehicle_delivery
) vd;

我不知道 /30 的用途是什么,但您似乎想要它。

注意事项:

  • FROM 子句引用该表。
  • extract() 中的第一个参数是关键字,而不是字符串。
  • 您想在 extract() 中引用 age() 值。
  • extract() 返回一个区间,因此取出部分是多余的(只有当您希望它们在单独的列中时才需要)。

关于sql - 获取两个日期列之间的月、日差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52578393/

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