[ DB2.Funciton - 시간.분_구하기 ]

 

 

SET SCHEMA PSO;

 

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

 

CREATE FUNCTION PSO.GET_MIN_MIN

 (SRC_TIME VARCHAR(4),

  MIN_TIME VARCHAR(4)

 )

  RETURNS VARCHAR(100)

  SPECIFIC PSO.GET_MIN_MIN

  LANGUAGE SQL

  NOT DETERMINISTIC

  READS SQL DATA

  STATIC DISPATCH

  CALLED ON NULL INPUT

  EXTERNAL ACTION

  INHERIT SPECIAL REGISTERS

  BEGIN ATOMIC

    DECLARE ret varchar(100);

    DECLARE len int;

    DECLARE tmp int;

    SET tmp = INTEGER(MIN_TIME) ;

    SET ret = SRC_TIME;

    SET tmp = INTEGER(SUBSTR(ret, 1, 2)) * 60 + INTEGER(SUBSTR(ret, 3, 2)) -

      tmp;

    SET ret = REPLACE(CHAR(tmp/60), ' ', '');

    IF LENGTH(ret) = 1 THEN

      SET ret = '0' || ret;

    END IF;

    SET tmp = MOD(tmp, 60);

    SET ret = REPLACE(ret || CHAR(tmp), ' ', '');

    IF LENGTH(ret) = 3 THEN

      SET ret = SUBSTR(ret, 1, 2) || '0' || SUBSTR(ret, 3, 1) ;

    END IF;

    IF ret IS NULL THEN

      SET ret = '';

    END IF;

    RETURN ret;

  END;

Posted by 농부지기
,