词条 | 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。