2013-07-09 22 views
1

我想沒幾天到被定義爲一個表,即整列的,我怎麼能投的日期數據類型爲整數(PostgreSQL系統)

select age('2013-04-06','2013-04-04')? - >給我2days作爲輸出

我想,2天,儲存與數據類型整數列.. 我想這一點,但我是從這個查詢得到沒有時間..

SELECT (EXTRACT(epoch FROM (select age('2013-07-06','2013-07-04')))/3600); - >48即48小時爲output

我需要integer value(2)從2天或48小時

如何得到這個要做?

回答

4

age(...)產生interval。然後,您可以使用extractinterval得到天:調用它extract之前

select extract(day from age('2013-04-06','2013-04-04')); 

對於某些輸入你想justify_intervalinterval - 但age產生預合理區間,讓不該」在這種情況下是需要的。

+2

或爲日期(不時間戳)日,月或年之間甚至它的區別,只是減去了其他的人。這給你整數天。 –

+0

@RichardHuxton好點;我傾向於忘記,主要是因爲我很少使用原始的'日期'。 –

+0

'選擇提取物(從年齡('2013-07-02','2013-06-01'));''將無法獲得32天!有什麼方法可以得到這些日子.. @ craig ringer – 09Q71AO534

2
select '2014-05-02'::date - '2013-04-01'::date; 

給出了無天

+0

@克雷格林格這會解決目的還是使用這個東西,否則它會有任何性能改變! – 09Q71AO534

+0

簡單的日期扣除罰款。沒有理由不這樣做。如果你想從現在開始,你可以從'current_date'減去。 –

+0

謝謝你@CraigRinger – 09Q71AO534

相關問題