假設我給了兩個日期,如果差別是一個月,那麼它應該顯示爲30天。甚至幾個月也需要轉換成天 我已經試過了年齡(日期,現在()::時間戳沒有時區)但它是給予月 - 日 - 年的格式。例如:10日24日13:57:40.5265。但我需要以下方法。 例如,如果有兩個月的差異,那麼我需要輸出爲60天。如何計算postgres sql查詢中兩個日期之間的日期。
回答
不要使用日期/時間算術的age()
函數。它只有returns "symbolic" results(這對於人類表示來說足夠好,但對於日期/時間計算幾乎沒有意義;與標準差相比)。
標準difference operator (-
)回報以天爲結果都date
,timestamp
和timestamp with time zone
(前者返回天爲int
,後兩者的回報以天爲interval
S):
從以天爲間隔,你可以提取物天的extract()
功能:
select current_date - '2017-01-01',
extract(day from now()::timestamp - '2017-01-01 00:00:00'),
extract(day from now() - '2017-01-01 00:00:00Z');
'age()'返回'interval'而不是「符號」結果。這是一種數據類型,可以很容易地用於計算,絕對不是**「無意義的」 –
@a_horse_with_no_name [來自文檔](https://www.postgresql.org/docs/current/static/functions -datetime.html)*年齡(時間戳,時間戳):減去參數,產生一個使用年和月的「符號」結果,而不僅僅是幾天*,從技術上說它的類型是'interval',但是給定它的(函數的)語義和一般的'時間間隔'正當性規則,它並不意味着用於日期/時間算術(可能在某些邊緣情況下)。 – pozs
這兩者都會給出結果。
select make_interval(days => ((extract(epoch from '2016-04-10'::date) - extract(epoch from '2016-02-10'::date))/(60*60*24))::integer)::text;
select format('%1$s days', ((extract(epoch from '2016-04-10'::date) - extract(epoch from '2016-02-10'::date))/(60*60*24))::integer);
謝謝你正在工作正常 – suresh
- 1. SQL查詢凡之間兩個日期
- 2. 我如何計算兩個日期之間的日期
- 3. 如何使用PHP計算兩個日期之間的日期?
- 4. 兩個日期之間的SQL查詢日期差異
- 5. SQL查詢選擇兩個日期之間的日期
- 6. SQL查詢來選擇兩個日期之間的日期
- 7. 如何計算兩個日期之間有多少星期日?
- 8. 計算日期之間的差異 - Postgres
- 9. 日期間的計算在兩個日期之間
- 10. 計算同一列中兩個日期之間的日期
- 11. 如何統計Postgres中兩個日期之間的星期日除外?
- 12. 計算兩個日期之間的日期而不使用任何日期類
- 13. 如何計算兩個日期之間的月數SQL
- 14. 過程計算兩個日期之間的日期
- 15. 計算sql中兩個日期之間的持續時間
- 16. 如何計算和計算兩個日期之間的字段?
- 17. 如何計算兩個日期之間的營業日數?
- 18. 如何計算日曆兩個日期之間的月份數
- 19. 你如何計算兩個日期之間的星期數?
- 20. 兩個日期之間的SQALCHEMY查詢
- 21. sql查詢計數兩個日期之間的多行
- 22. 檢查日期是在Java中的兩個日期之間
- 23. sql計算兩次之間的兩個日期的分鐘
- 24. 如何計算特定年份中兩個日期之間的日期?
- 25. mysql查詢兩個日期字段之間的日期
- 26. 如何在年,月,日兩個日期之間計算datediff?
- 27. MySql查詢兩個日期之間的任何日期是在兩個日期之間
- 28. 查找兩個日期之間發生的日期日期
- 29. SQL查詢兩個日期
- 30. 用兩個date_time列之間的當前日期查詢日期
'CURRENT_DATE - ÿ our_timestamp_column :: date' –
你到目前爲止嘗試過什麼?你能顯示一些代碼嗎? –
但是二月和三月同一天的差別是28或29天? 3月和4月同一天的差別是31天。 即使你提取的天數你不會得到30天的每個月到每個月的比較。 –