我對 Oracle 不是很熟悉,所以這一切對我來說有點新鮮。
如果我有一個簡單的計算,如下所示:
WITH dates AS (SELECT date '2020-01-31' AS jan31, date '2020-02-29' AS feb29 FROM dual)
SELECT
jan31 interval '1' month AS nextmonth, -- 29 Feb 2020
feb29 interval '1' year AS nextyear -- 28 Feb 2021
FROM dates;
兩種計算都會失敗,因為結果超出范圍。
我在 PostgreSQL、MariaDB 和 Microsoft SQL Server 中嘗試了相同的方法,使用它們自己的相應運算式,它們都導致注釋日期;也就是說,他們將結果剪輯到月底而不是溢位。
我熟悉該add_months功能,它確實進行了適當的調整,但我想知道是否有辦法讓運算式date interval可靠地作業。
uj5u.com熱心網友回復:
這里已經回答了:
Oracle DB Ora-01839:指定月份的日期無效。29-02-2016 閏年
基本上,這就是 Oracle 實作它的方式
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/448527.html
