![](/img/trans.png)
[英]How to convert separate year and month column into a single date and get the difference between two dates in terms of months/days
[英]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.