<?xml version="1.0" encoding="utf-8"?> 
<?xml-stylesheet type="text/xsl" href="topic_template.xsl"?> 
<topic>
<category>fbudf</category>
<ref_entry>ADDMONTH()</ref_entry>
<creator date="2003/10/31 21:56:51">山田健一</creator>
<modified />
<definition>日時形式に指定月数を追加する</definition>
<structure>
<function>
<name>ADDMONTH</name>
<args>
<a><var>date</var></a>
<a><var>add</var></a>
</args>
</function>
</structure>
<arguments>
<argument>
<name><var>date</var></name><description>date型、timestamp型の列または式</description>
</argument>
<argument>
<name><var>add</var></name><description>数値データ型の列または式</description>
</argument>
</arguments>
<declaration>declare external function addMonth
timestamp, int
returns timestamp
entry_point 'addMonth' module_name 'fbudf';</declaration>
<description><var>date</var>の<var>add</var>月後を返します。末日のn月後が存在しないときは月末にあわせられます。<br />
<var>add</var>はマイナスも可能です。</description>
<examples>
<example>
<!--SEQ = 1-->
<description>1月後を求めます。時刻部分は変化しません。</description>
<samplecode>SELECT ADDMONTH(GETEXACTTIMESTAMP(),1) FROM RDB$DATABASE;</samplecode>
<result>2003-11-30 21:51:47.0000</result>
</example>
<example>
<!--SEQ = 2-->
<description><var>add</var>に小数を指定すると整数に丸められてから加算されます。</description>
<samplecode>SELECT ADDMONTH(GETEXACTTIMESTAMP(),1.4),ADDMONTH(GETEXACTTIMESTAMP(),1.5) FROM RDB$DATABASE;</samplecode>
<result>2003-11-30 21:51:47.0000  2003-12-31 21:51:47.0000</result>
</example>
<example>
<!--SEQ = 3-->
<description>1月前を求めます。時刻部分は変化しません。</description>
<samplecode>SELECT ADDMONTH(GETEXACTTIMESTAMP(),-1) FROM RDB$DATABASE;</samplecode>
<result>2003-09-30 21:51:47.0000</result>
</example>
<example>
<!--SEQ = 4-->
<description>2000-02-29の12月後を求めます。</description>
<samplecode>SELECT ADDMONTH(CAST('2000-02-29' AS DATE),12) FROM RDB$DATABASE;</samplecode>
<result>2001-02-28 00:00:00.0000</result>
</example>
<example>
<!--SEQ = 5-->
<description>2000-02-29の12月前を求めます。</description>
<samplecode>SELECT ADDMONTH(CAST('2000-02-29' AS DATE),-12) FROM RDB$DATABASE;</samplecode>
<result>1999-02-28 00:00:00.0000</result>
</example>
</examples>
<see_also>
<keyword name="udf_addday">ADDDAY()</keyword>
<keyword name="udf_addweek">ADDWEEK()</keyword>
<keyword name="udf_addyear">ADDYEAR()</keyword>
</see_also>
</topic>
