function 을 하나 만들었습니다,,
CHAR(14)를 TIMESTAMP로 변환하는 function인데 아래와 같이 에러가 납니다,,
function정의
-----------------------------------------------------
CREATE FUNCTION char14_ts(X char(14))
RETURNS timestamp
LANGUAGE SQL
CONTAINS SQL
NO EXTERNAL ACTION
DETERMINISTIC
RETURN (cast(substr(X,1,4)||'-'||substr(X,5,2)||'-'||substr(X,7,2)||'-'||
substr(X,9,2)||'.'||substr(X,11,2)||'.'||substr(X,13,2) as timestamp))
실행1
------------------------------------------------------------------------------
db2=> select char14_ts('20040508101010') from sysibm.sysdummy1
결과 : SQL0440N 호환 가능한 인수를 갖는 "CHAR14_TS"(이)란 이름의 어떠한 함수도 함수 경로에 없었습니다. SQLSTATE=42884
실행2
---------------------------------------------------------------------------------
db2=> select char14_ts(cast('20040508101010' as char(14))) from sysibm.sysdummy1
결과 : 2004-05-08-10.10.10.000000
결론적으로 입력값 '20040508101010' 을 char(14)로 인식을 하지 못한다는 얘긴데,, 왜그렇죠?
|