我有一個包含信用卡記錄的數據庫表。其中一個字段是日期字段。如果年份少於2010年,我想更新這個字段,將年份部分改爲2011年。從我發現的數據來看,PLSQL具有時間和月份功能,但與年份無關(據我所知)。如何使用PLSQL更新日期列,只更改年份而不是日期或月份?
1
A
回答
4
這顯示瞭如何
with cc as(
select to_date('12-jan-1999') as cdate from dual union all
select to_date('12-jan-1921') as cdate from dual union all
select to_date('12-jan-1900') as cdate from dual union all
select to_date('12-jan-2000') as cdate from dual union all
select to_date('12-jan-2010') as cdate from dual
)
select to_date(to_char(cdate,'DD-MON') ||'-2011','DD-MON-YYYY')
from cc
where cdate < to_date('01-JAN-2010','DD-MON-YYYY')
/
3
1年= 12個月,因此減去12月:
select add_months(sysdate,-12) from dual
1
這裏是如何做到這一點,因此使用ADD_MONTHS閏年工作。
with cc as(
select to_date('12-jan-1999','dd-mon-yyyy') as cdate from dual union all
select to_date('12-jan-1921','dd-mon-yyyy') as cdate from dual union all
select to_date('29-feb-1904','dd-mon-yyyy') as cdate from dual union all
select to_date('12-jan-2000','dd-mon-yyyy') as cdate from dual union all
select to_date('12-jan-2010','dd-mon-yyyy') as cdate from dual
)
select add_months(cdate,(2011 - extract(year from cdate)) * 12)
from cc
where cdate < to_date('01-JAN-2010','DD-MON-YYYY');
相關問題
- 1. Oracle有沒有辦法更新日期,而不是月份,年
- 2. Pikaday:修改月份或年份而不點擊日期
- 3. 如何更改我的日期選擇器只顯示月,日期和年份
- 4. 如何僅更新日期的月份和年份值?
- 5. 更改日期月份不起作用
- 6. 如何使用SimpleDateFormat解析日期只有月份和年份
- 7. 大於指定日期(日期,月份,年份)的日期
- 8. 從日期,月份,年份的最新日期
- 9. LINQ如何按日期分組日期和月份和年份
- 10. JAVA如何取日期並查看日期,月份和年份?
- 11. mysql:按年份和月份(無日期)如何做日期
- 12. 禁用月份更改的jQuery日期?
- 13. 月份和年份,而不是日期變量
- 14. SQL僅限於日期和月份而不是年份
- 15. 以日期,月份,年份獲取不同的ISO日期
- 16. 只獲得NSDate的月份,日期或年份?
- 17. Dateformatter更改我的日期的年份
- 18. 在SQL中更改日期的年份
- 19. 在mysql日期中更改年份
- 20. SQL查詢日期只使用年份和月份
- 21. 在NSDate上更改月份的日期
- 22. jquery datepicker更改月份和日期
- 23. 如何僅更改Calendar對象中的月份,年份和日期而不更改小時,分鐘和秒鐘?
- 24. 如何設置datepicker的日期只顯示月份和年份
- 25. 月份和年份的日期轉換
- 26. 添加年份,月份和日期C
- 27. 日期,月份和年份下拉框
- 28. 計算月份和年份的日期
- 29. SQL:只月份和年份列比較日期
- 30. 如何從日期時間使用JavaScript獲取日期,年份,月份?
我喜歡這個。我非常喜歡這個。給我幾分鐘來測試它。 – jake 2010-07-02 08:45:54
這將在閏年每年有一天中斷。 ADD_MONTHS是一個更強大的解決方案。 – Allan 2010-07-02 17:30:59