回答
嘗試添加月份(12 *年數)。像這個 -
add_months(date'2010-10-10', 48)
使用add_months
例子:
SELECT add_months(to_date('10-OCT-2010'), 48) FROM DUAL;
警告
ADD_MONTHS,返回結果月份的最後一天,如果你輸入一個月的最後一天首先。
因此add_months(to_date('28-feb-2011'),12)
會因此而返回29-feb-2012。
我相信你可以使用ADD_MONTHS()
函數。 4年爲48個月,因此:
add_months(DATE,48)
下面是使用功能的一些信息:
http://www.techonthenet.com/oracle/functions/add_months.php
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1157035034361
我不知道,如果我理解正確你的問題,但
select add_months(someDate, numberOfYears * 12) from dual
可能會做的伎倆
只是一個建議。避免使用INTERVAL數據類型。它符合ANSI/ISO標準。因此,您所寫的聲明將不適用於2月29日。通常,由您承擔結果是正確的。雖然add_months是Oracle專有的,並且可以生成有效日期。 – ibre5041 2013-10-29 08:40:50
@ ibre5041對不起,從墳墓中提出這篇文章,但我正在尋找一種方法來做到這一點,而不是堅持計算生日的月份的最後一天,因爲add_month()失敗的2/28。當下一年是閏年時,add_months(to_date('02 -28','MM-DD'))返回02-29,這是不正確的。我發現做以下事情總是會返回正確的日期:(to_date('02 -28','MM-DD') - 1)+間隔'1'year + 1返回02-28,即使下一年是飛躍一年,如果你投入02-29,它將在非閏年返回03-01。 – Bob 2015-04-06 11:57:24
還有一個從ADD_MONTHS
SELECT
SYSDATE,
SYSDATE
+ TO_YMINTERVAL ('1-0')
FROM
DUAL;
SYSDATE SYSDATE+TO_YMINTERVAL('1-0')
--------- ----------------------------
29-OCT-13 29-OCT-14
1 row selected.
SELECT
SYSDATE,
SYSDATE
+ TO_YMINTERVAL ('2-0')
FROM
DUAL;
SYSDATE SYSDATE+TO_YMINTERVAL('2-0')
--------- ----------------------------
29-OCT-13 29-OCT-15
1 row selected.
SELECT
TO_DATE ('29-FEB-2004',
'DD-MON-YYYY')
+ TO_YMINTERVAL ('1-0')
FROM
DUAL
*
Error at line 4
ORA-01839: date not valid for month specified
但最後一個是非法分開的選擇,因爲那裏是2月沒有29天在2005年,因此在閏年案例中失敗(2月29日)
同樣閱讀documentation
- 1. 如何在2015年日期字段中插入所有日期?
- 2. 如何添加日期與二月閏年的日期或不
- 3. ORACLE SQL - 無加入日期比較日期
- 4. javascript日期(年)
- 5. XSL年加入當前的日期
- 6. 如何將日期轉換爲年,月,日日期格式
- 7. 加入日期
- 8. 添加30天至日期(月/日/年)
- 9. 插入日期到Oracle
- 10. Oracle日期四捨五入
- 11. 從日期到日期(僅年/月)
- 12. 日期格式日期月 - 年
- 13. 左加入日期所有日期
- 14. 如何按照Oracle 10的星期日開始的年份日期或日期分組?
- 15. Oracle日期
- 16. Excel日期表從輸入日期確定下一個雙年度日期
- 17. 如何從日期值中獲取日期年份中的日期
- 18. 日期減1年?
- 19. 出生日期,加入日期和離開日期的有效日期
- 20. LINQ如何按日期分組日期和月份和年份
- 21. mysql:按年份和月份(無日期)如何做日期
- 22. 如何從當年的指定日期查找日期名稱?
- 23. JAVA如何取日期並查看日期,月份和年份?
- 24. 如何從datetime系列中刪除年份 - 日期 - 日期? [python]
- 25. 如何從加入日期中選擇不同日期
- 26. 在PHP日期設置修復日期和增加月份/年()
- 27. php日期加1年輸出奇怪的日期
- 28. 字符串日期到SQL日期添加年份
- 29. .NET日期添加日期
- 30. Oracle將日期和時間插入日期列[存儲過程]
也適用於閏年。 – ScrappyDev 2016-03-28 15:15:56