ADD_MONTHS(oracle)特例
2012-04-19 11:46
183 查看
ADD_MONTHS有比较特别的地方:
1,如果碰到日期是一个月的最后一天的时候,也返回那个月的最后一天
例如:SELECT ADD_MONTHS(TO_DATE('20080430','YYYYMMDD'),1) FROM DUAL
返回20080531,而不是20080530
2,如果碰到结果日期没有对应的日,则返回那个月的最后一天
例如:SELECT ADD_MONTHS(TO_DATE('20080130','YYYYMMDD'),1) FROM DUAL
返回20080229
解决方案:
用switch case 来解决以上问题。
欢迎大家针对这个问题提出更多的解决方案。
1,如果碰到日期是一个月的最后一天的时候,也返回那个月的最后一天
例如:SELECT ADD_MONTHS(TO_DATE('20080430','YYYYMMDD'),1) FROM DUAL
返回20080531,而不是20080530
2,如果碰到结果日期没有对应的日,则返回那个月的最后一天
例如:SELECT ADD_MONTHS(TO_DATE('20080130','YYYYMMDD'),1) FROM DUAL
返回20080229
解决方案:
用switch case 来解决以上问题。
欢迎大家针对这个问题提出更多的解决方案。
相关文章推荐
- oracle 日期常用函數 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)
- oracle中的add_months()函数总结
- oracle 日期常用函數 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)
- oracle中的add_months()函数总结
- oracle 日期常用函數 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)
- oracle中的add_months()函数总结
- ORACLE日期函数ADD_MONTHS
- ADD_MONTHS的用法-Oracle
- oracle 日期常用函数 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)
- oracle时间函数(三)last_day(),add_months(),month between()
- oracle中的add_months()函数总结
- oracle 日期常用函数 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)
- Oracle months_between()和add_months()函数
- oracle 日期常用函數 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)
- ORACLE 日期函数 ADD_MONTHS
- oracle中的add_months()函数
- Oracle中取某时间段月份列表、年份列表 ADD_MONTHS、MONTHS_BETWEEN
- oracle中add_months和trunc用法
- oracle语句 trunc()、to_char()、to_date()、add_months()和误删恢复操作
- oracle中add_months和trunc用法