본문 바로가기
IT 자료

DB2 SQL NVL() SQLState: 22018

by 성곤 2015. 3. 24.
반응형


nvl

"표현식1"이 널이 아닌 경우 "표현식1"의 값을 리턴합니다. "표현식1"이 널이면 "표현식2"의 값을 리턴합니다.

구문

nvl ( expression1 , expression2 )

출처 : http://www-01.ibm.com/support/knowledgecenter/?lang=ko


------------------------------------------------------------------------------------------------


DB2 기준


NVL( 컬럼, 0 ) AS TEST  라고 만들었을 때, 에러가 났다.


에러내용 :

Category    Timestamp    Duration    Message    Line    Position
Error    2015-03-24 오후 5:49:27    0:00:00.223    DB2 Database Error: ERROR [22018] [IBM][DB2/AIX64] SQL0420N  Invalid character found in a character string argument of the function "DECFLOAT".  SQLSTATE=22018
    6    0


에러에 대한 내용은 

SQL0420N : 함수 function-name의 문자열 인수에 유효하지 않은 문자가 있습니다.




NVL함수에서 에러가 났다.

NVL(표현1, 표현2)를 사용할 때는, '문자'만 된다.


그래서


NVL( 컬럼, 0 ) 은 에러가 나고
NVL( 컬럼, '0' ) 은 에러가 나지 않는다.



참 어처구니가 없지만, NVL() 기능은 문자로 사용하자.





반응형