[ DB2.Funciton - 특정일자에_월수더하기 ]

 

*특정일자에 대하여 월수를 더한 일자가 반환*

 

SET SCHEMA MISADM;

 

SET CURRENT PATH = "SYSIBM","SYSFUN","SYSPROC","MISADM";

 

CREATE FUNCTION COM.GET_ADDMONTHS

 (ASDATE VARCHAR(8),

  ASMONTHS INTEGER

 )

  RETURNS CHARACTER(8)

  SPECIFIC COM.GET_ADDMONTHS

  LANGUAGE SQL

  DETERMINISTIC

  READS SQL DATA

  STATIC DISPATCH

  CALLED ON NULL INPUT

  EXTERNAL ACTION

  INHERIT SPECIAL REGISTERS

  BEGIN ATOMIC

    DECLARE vReturn CHARACTER(8);

    SET vReturn = (

      SELECT SUBSTR(REPLACE(CHAR(DATE(SUBSTR(asDate,1,4) ||'-'|| SUBSTR(asDate,5,2) ||'-'|| SUBSTR(asDate,7,2)) + ASMONTHS MONTHS ),'-',''),1,8)

        FROM COM.Z_COMCDCOD_TBL

        FETCH FIRST 1 ROWS ONLY ) ;

    IF vReturn IS NULL THEN

      SET vReturn = '';

    END IF;

    RETURN vReturn;

  END;

 

COMMENT ON FUNCTION COM.GET_ADDMONTHS

 (VARCHAR(8),

  INTEGER

 )

  IS '특정일자에 대하여 월수를 더한 일자가 반환됩니다.';

Posted by 농부지기
,