请输入您要查询的百科知识:

 

词条 add_months
释义

简介

日期运算函数

ADD_MONTHS(d,n)--时间点d再加上n个月

例子:

select sysdate, add_months(sysdate,2) aa from dual;

SYSDATE AA

21-SEP-07 21-NOV-07

注意

ADD_MONTHS函数将一个日期上加上一指定的月份数,所以,日期中的日将是不变的。然而,如果开始日期是某月的最后一天,那么,结果将会调整以使返回值仍对应新的一月的最后一天。如果,结果月份的天数比开始月份的天数少,那么,也会向回调整以适应有效日期。其语法格式如下:

ADD_MONTHS(date,months)

其中:

date 一个日期数值

months 要加上的月份数。要减去的月份数用负数

下面的例子解释了该函数的使用:

ADD_MONTHS(TO_DATE(’15-Nov-1961’,’d-mon-yyyy’),1) =’15-Dec-1961

ADD_MONTHS(TO_DATE(’30-Nov-1961’,’d-mon-yyyy’),1) =’31-Dec-1961

ADD_MONTHS(TO_DATE(’31-Jan-1999’,’d-mon-yyyy’),1) =’28-Feb-1999

注意,在上面的第三个例子中,函数将不得不将31日往回调整为28日,已使结果对应新一月的最后一天。因为,1999年的2月份只有28天。在第二个例子中,则是从30往后调整为31,也同样是为了保持对应的最后一天。

add_months功能

ADD_MONTHS函数作为它的第一个参数一个DATETIME或DATE的表达,需要第二个的整数参数,指定的月数添加到第一个参数值。 第二个参数可以是正或负。

返回的值是第一个参数和一个间隔单位的月份值的月数,第二个参数指定的日期或DATETIME值的总和。

返回的数据类型取决于第一个参数的数据类型:如果第一个参数的计算结果为一个DATE值,ADD_MONTHS返回一个日期值。如果第一个参数的计算结果为一个DATETIME值,ADD_MONTHS分数(5)值返回一个DateTime的一年, 一天中的第一个参数为时间单位相同的价值观。 如果一天 一个月的时间单位,并在第一个参数指定月份的最后一天,如果一个月少天比一天中的第一个参数,则返回值是最后一天所产生的一个月。 否则,返回值,作为第一个参数月份的同一天。

返回值可以在不同的年份,如果一个月后比12月的一年中的第一个参数(或负早于1月的第二个参数,)。

下面的查询调用的ADD_MONTHS函数两次投影子句中,作为参数使用列表达式。 这里的列名指示列的数据类型,并DBDATE设置MDY4 /:

选择a_serial,b_date,ADD_MONTHS(b_date,a_serial) c_datetime,ADD_MONTHS(c_datetime,a_serial)从mytab WHERE a_serial = 7;在这个例子ADD_MONTHS返回DATE和DATETIME值中: a_serial 7 b_date 07/06/2007 (表达)02/06/2008 c_datetime 2007-10-06 16:47:49.00000 (表达)2008-05-06 16:47:49.00000如果您使用的Informix ®主机变量来存储ADD_MONTHS的参数,但在准备时间不知道该参数的数据类型,假定的数据类型为datetime年分数(5)。 如果在运行时,已经准备的发言后,用户提供了一个DATE值的主机变量,错误-9750发出。 要避免这个错误,使用强制指定的宿主变量的数据类型,在这个程序片段:的sprintf(查询“,”选择ADD_MONTHS(日期:6)从mytab“吗?); EXEC SQL准备selectq:查询; EXEC SQL声明selectq select_cursor光标;使用EXEC SQL开放select_cursor:hostvar_date_input; EXEC SQL FETCH select_cursor到:var_date_output;

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/31 17:58:08