簡體   English   中英

獲取兩個日期列之間的月,日差

[英]Get month,days difference between two date columns

我正在嘗試修復數據庫中的一些問題,並且我想根據其他2個日期列重新計算數據庫中的列。 這個col是浮動的,我想以月為單位,以小數點表示的月份中的兩個日期之間的差額。

例如,如果我有兩個日期'2016-01-15', '2015-02-01'則差異應為12個月差異中的12.5最佳,其余15天為0.5

這是到目前為止我根據搜索嘗試過的方法,但我認為我缺少某些內容,因為它告訴我日期列存在錯誤,因為它不存在

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()返回一個間隔,因此取出這些部分是多余的(僅當您希望將它們放在單獨的列中時才需要)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM