Oracle的DATEADD函數是沒有直接的內置函數來處理閏年的問題的。但是可以通過其他函數和技巧來處理閏年。以下是一種可能的方法:
示例代碼如下:
SELECT
CASE
WHEN MOD(EXTRACT(YEAR FROM TO_DATE('2024-02-29', 'YYYY-MM-DD')), 4) = 0 AND
(MOD(EXTRACT(YEAR FROM TO_DATE('2024-02-29', 'YYYY-MM-DD')), 100) != 0 OR MOD(EXTRACT(YEAR FROM TO_DATE('2024-02-29', 'YYYY-MM-DD')), 400) = 0)
THEN TO_CHAR(TO_DATE('2024-02-29', 'YYYY-MM-DD') + INTERVAL '1' DAY, 'YYYY-MM-DD')
ELSE TO_CHAR(TO_DATE('2024-02-29', 'YYYY-MM-DD') + INTERVAL '1' DAY, 'YYYY-MM-DD')
END AS next_day
FROM dual;
在上面的示例中,我們假設輸入日期為閏年的2月29日,并判斷是否為閏年,然后根據不同情況計算出下一天的日期。您可以根據實際的需求和日期情況來調整代碼。