我試圖讓日差,鑄造結果爲十進制:Postgresql。日期間隔問題
SELECT
CAST(TO_DATE('2999-01-01','yyyy-mm-dd') - TO_DATE('2909-01-01','yyyy-mm-dd') AS DECIMAL)
;
現在,如果我1個月添加到第2日:
SELECT
CAST(TO_DATE('2999-01-01','yyyy-mm-dd') - (TO_DATE('2909-01-01','yyyy-mm-dd') + INTERVAL '1 MONTH' * (1)) AS DECIMAL)
;
我得到的錯誤: 錯誤:無法投類型間隔數字
OK,我可以投到char得到結果:
SELECT
CAST(TO_CHAR(TO_DATE('2909-02-10','yyyy-mm-dd') - (TO_DATE('2909-01-01','yyyy-mm-dd') + INTERVAL '1 MONTH' * (1)), 'DD') AS DECIMAL)
;
但在這種情況下,第一次查詢與TO_CHAR鑄造停止工作修改:
SELECT
CAST(TO_CHAR(TO_DATE('2999-01-01','yyyy-mm-dd') - TO_DATE('2909-01-01','yyyy-mm-dd'), 'DD') AS DECIMAL)
;
我得到錯誤:多個小數點。
所以,我的問題是,我怎麼能得到使用相同的SQL語句的日子?對於兩個sql查詢。
如何在表格字段或TO_DATE語句中使用'extract'?以下幾個不起作用:SELECT extract(days FROM(TO_DATE('2999-01-01','yyyy-mm-dd') - TO_DATE('2909-01-01','yyyy-mm-dd') )::間隔)::數字(9,2); (日期FROM(TO_DATE('2999-01-01','yyyy-mm-dd') - TO_DATE('2909-01-01','yyyy-mm-dd'))):: numeric( 9,2); – Alexandr
非常感謝您的詳細回覆! – Alexandr