인포믹스 데이터를 db2로 마이그레이션하려고 하는데요..
20070406155932 이런 스트링을 timestamp 타입에 insert하려면 어떻게 해야하나요?? timestamp형을 보니 데이터가 2007-12-09-19.28.20.315234 이런 형식이던데.. 그냥 (TIMESTAMP('20070406155932')) 이렇게 인가요?? 워낙 초보인데 하려니 다급해서 ^^;; 답변 부탁드릴께요`~^^
db2 컬럼 타입을 timestamp 에서 char 로 바꾸는게 좋을것 같든데...
아래 function을 등록해서 변경하심이 좋을 듯 합니다. CREATE FUNCTION COM.FN_ZZ_TO_TMSTMP (D VARCHAR(20)) RETURNS TIMESTAMP SPECIFIC FN_ZZ_TO_TMSTMP LANGUAGE SQL CONTAINS SQL NO EXTERNAL ACTION DETERMINISTIC BEGIN ATOMIC
IF length(D) = 14 THEN RETURN timestamp(substr(D,1,4)||'-'||substr(D,5,2)||'-'||substr(D,7,2)||'-'||substr(D,9,2)||'.'||substr(D,11,2)||'.'||substr(D,13,2)||'.000000'); -- ELSEIF length(D) = 20 THEN RETURN timestamp(substr(D,1,4)||'-'||substr(D,5,2)||'-'||substr(D,7,2)||'-'||substr(D,9,2)||'.'||substr(D,11,2)||'.'||substr(D,13,2)||'.'||substr(D,15,6) ); -- ELSE RETURN cast(NULL as timestamp); -- END IF; -- END; 등록 후 COM.FN_ZZ_TO_TMSTMP('20070406155932') 이렇게 해서 사용하시면 됩니다.