728x90
반응형
DB2에서 아직 Function은 낯설지만 ... 필요에 의해서 ... Summary , Purge 부분에서 사용할 일이 있어서 ..

펑션을 한번 생성해 보았다..

기간을 주어지면 , 해당 기간 이전의 날짜를 YYYYMMDD 형식으로 리턴해 주는 펑션이다 .

CREATE FUNCTION XM_DAY_AGO(in_day INTEGER)
RETURNS VARCHAR(8)
LANGUAGE SQL
DETERMINISTIC
RETURN
SELECT   trim(char(year(current date - in_day day)))    ||
         case
            when length(trim(char(month(current date - in_day day)))) < 2 then '0' || trim(char(month(current date - in_day day)))
            else trim(char(month(current date - in_day day)))
         end         ||
         case
            when length(trim(char(day(current date - in_day day)))) < 2 then '0' || trim(char(day(current date - in_day day)))
            else trim(char(day(current date - in_day day)))
         end
FROM sysibm.sysdummy1


위의 스크립트로 펑션 생성 후 다음과 같이 사용하면 됨.


SELECT xm_day_ago(3) FROM sysibm.sysdummy1 ;

요런식으로 ...
728x90
반응형

+ Recent posts