add_months 和interval 的区别
来源:互联网 发布:厦门住宿推荐 知乎 编辑:程序博客网 时间:2024/05/01 02:34
dingjun大师的文章。http://blog.chinaunix.net/uid-7655508-id-3639253.html
也可以参考下http://blog.sina.com.cn/s/blog_854ec93b0101aahp.html
1.ADD_MONTHS函数
1)如果传入的参数是月末,则结果也是月末2)如果传入的参数的天较大,最终加上N月后,达到的结果日期天没有输入的参数的日期天大,则也是月末
3)其他,天数一样
符合第3点
dingjun123@ORADB> SELECT add_months(DATE'2011-12-31',1) FROM dual;
ADD_MONTHS
----------
2012-01-31
1 row selected.
符合第1点,因为11月30日是月末,所以返回2011-12-31日
dingjun123@ORADB> SELECT add_months(DATE'2011-11-30',1) FROM dual;
ADD_MONTHS
----------
2011-12-31
1 row selected.
符合第2点,虽然10-30不是月末,但是+4月到2月最大是29日,返回2月月末
dingjun123@ORADB> SELECT add_months(DATE'2011-10-30',4) FROM dual;
ADD_MONTHS
----------
2012-02-29
1 row selected.
符合第2点,加5个月,3月月末是31日,未到,因此是3月30日
dingjun123@ORADB> SELECT add_months(DATE'2011-10-30',5) FROM dual;
ADD_MONTHS
----------
2012-03-30
1 row selected.
2.INTERVAL
得出与下月相同的天,如果结果超出对应的月份最大天,则不正确
--普通的使用
dingjun123@ORADB> SELECT DATE'2011-12-31'+interval '1' month FROM dual;
DATE'2011-
----------
2012-01-31
1 row selected.
--12月30日,而不是31日
dingjun123@ORADB> SELECT DATE'2011-11-30'+interval '1' month FROM dual;
DATE'2011-
----------
2011-12-30
1 row selected.
--报错,因为2月最大是29日,没有30日,此2月是29日
dingjun123@ORADB> SELECT DATE'2011-10-30'+interval '4' month FROM dual;
SELECT DATE'2011-10-30'+interval '4' month FROM dual
*
ERROR at line 1:
ORA-01839: date not valid for month specified
--正确,3月30日,而不是31日
dingjun123@ORADB> SELECT DATE'2011-10-30'+interval '5' month FROM dual
2 ;
DATE'2011-
----------
2012-03-30
1 row selected.
0 0
- add_months 和interval 的区别
- JAVA中的日期添加函数ADD和Oracle中的ADD_MONTHS函数的区别
- ADD_MONTHS和numtodsinterval浅析
- ADD_MONTHS的用法-Oracle
- ADD_MONTHS函数 的使用
- ADD_MONTHS
- ADD_MONTHS
- Oracle months_between()和add_months()函数
- oracle add_months函数的用法
- javascript中interval与setTimeOut的区别
- Categorical, Ordinal, Interval - 变量之间的区别
- RxJava处理网络连接失败和timer()、interval()、delay()之间的区别
- RxJava处理网络连接失败和timer()、interval()、delay()之间的区别
- RxJava处理网络连接失败和timer()、interval()、delay()之间的区别
- RxJava处理网络连接失败和timer()、interval()、delay()之间的区别
- oracle中add_months和trunc用法
- oracle中add_months和trunc用法
- oracle中add_months和trunc用法
- 'PLAN_TABLE' is old version处理方法-删除当前用户下的PLAN_TABLE
- Oracle_start_with_connect_by_prior_用法
- 保护个人隐私视频文件加密方法两小招
- 新买笔记本电脑安装win7解压蓝屏
- js - 关于部分浏览器内置函数console详解(用开发调试的利器)
- add_months 和interval 的区别
- android智能机低电关机后关机闹钟不响的原因及解决方案
- 关于jquery dialog被activeX插件遮挡问题的解决办法
- 支你两小招让你的电脑蜗牛变飞机
- 网站如何做到完全不需要 jQuery ?
- 完全实现路由器实现无线化有可能吗
- qt-4.7.2的arm版本安装方法
- ICON
- Apache Solr 初级教程