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

 

 

* 특정일자에 대하여 년수를 더한 일자가 반환됩니다 *

 

SET SCHEMA MISADM;

 

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

 

CREATE FUNCTION COM.GET_ADDYEARS

 (ASDATE VARCHAR(8),

  ASYEARS INTEGER

 )

  RETURNS CHARACTER(8)

  SPECIFIC COM.GET_ADDYEARS

  LANGUAGE SQL

  DETERMINISTIC

  READS SQL DATA

  STATIC DISPATCH

  CALLED ON NULL INPUT

  EXTERNAL ACTION

  INHERIT SPECIAL REGISTERS

  BEGIN ATOMIC

    DECLARE vReturn CHAR(8);

    SET vReturn = (

      SELECT SUBSTR(REPLACE(CHAR(DATE(SUBSTR(asDate,1,4) ||'-'|| SUBSTR(asDate

          ,5,2) ||'-'|| SUBSTR(asDate,7,2)) + ASYEARS YEAR ),'-',''),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_ADDYEARS

 (VARCHAR(8),

  INTEGER

 )

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

Posted by 농부지기
,