最近在使用ADD_MONTHS的时候发现存在以下问题:
当执行:select add_months(add_months(to_date('20090330','yyyymmdd'),-1),1) from dual的时候结果值为:20090331。
原因:在执行ADD_MONTHS在对每个月最后一天处理的时候,数据库会直接去取相对月的最后一天(-1,为前一个月的最后一天,+1为后一个月的最后一天),因此出现上述问题。
因此在使用add_months进行月份操作时一定要小心月末那一天。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/38006/viewspace-625324/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/38006/viewspace-625324/