2016-08-04 63 views

回答

-2

嘗試......

選擇ADD_MONTHS(TO_DATE('31 -DEC-」 || TO_CHAR(CURRENT_DATE, 'YYYY')),12)從雙;

+1

這依賴於隱式轉換,因此可能無法正常工作;例如在我的數據庫中,它提供:** ORA-01843:不是有效月份** – Aleksej

+0

如果日期在系統上的默認格式不同,只需修改日期字符串以使用系統需要的格式。 – Hawthorne

+0

如果您需要獨立於日期格式化方式工作的解決方案,那麼您可以指定要在to_date函數中使用的格式:'select add_months(to_date('31 -DEC-'|| to_char(current_date,'YYYY' ),'DD-MON-YYYY'),12)from dual;' – Hawthorne

-3

喜歡的東西...

選擇LAST_DAY(ADD_MONTHS(SYSDATE,12 +(12- TO_NUMBER(TO_CHAR(SYSDATE, '毫米')))))從雙;

+0

這給** ** ORA-00923:FROM關鍵字找不到預期的地方** – Aleksej

+0

立即嘗試更新的查詢。 – Ehtesham

4

明年的最後一天是下一年後的第一天的前一天。所以你應該能夠在今年的第一天增加24個月,然後減去一天。像這樣:

select sysdate, add_months(trunc(sysdate, 'y'), 24) - 1 as last_day_next_year from dual; 

SYSDATE LAST_DAY_NEXT_YEAR 
---------- ------------------ 
2016-08-04 2017-12-31 

1 row selected. 
相關問題