回答
嘗試添加月份(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. Oracle日期函數追加月和年
- 2. 從oracle當前日期計算一年到期日期11g
- 3. 如何在2015年日期字段中插入所有日期?
- 4. Oracle日期和EJB日期
- 5. 如何添加日期與二月閏年的日期或不
- 6. PHP日期倒計時從加入日期到未來一年
- 7. 日期,月日,年的日期格式
- 8. 如何與另一日期(月/年)比較日期(月/年)
- 9. Oracle SQL:無日期選擇日期字段(僅限月和年)
- 10. ORACLE SQL - 無加入日期比較日期
- 11. 插入日期2008年
- 12. javascript日期(年)
- 13. XSL年加入當前的日期
- 14. 如何將日期轉換爲年,月,日日期格式
- 15. 如何從日期或日期時間數據類型中僅插入日期或日期或年份?
- 16. Excel中SUMIF日期落入日期期間(年度)
- 17. 添加一年至日期
- 18. 加入日期
- 19. 添加30天至日期(月/日/年)
- 20. 如何在Oracle中插入BC日期?
- 21. Oracle日期四捨五入
- 22. 插入日期在Oracle
- 23. oracle日期插入從vb.net
- 24. 在oracle中舍入日期
- 25. iOS獲取日期從年的日期
- 26. 日期格式日期月 - 年
- 27. 從日期到日期(僅年/月)
- 28. 日期選擇日月年
- 29. 如何按照Oracle 10的星期日開始的年份日期或日期分組?
- 30. SQLITE加入日期=日期+ x
也適用於閏年。 – ScrappyDev 2016-03-28 15:15:56