이번 글에서는 ORA-00909: 인수의 개수가 부적합합니다 에러 해결 방법에 대하여 알아보겠습니다.
ORA-00909: 인수의 개수가 부적합합니다
ORA-00909: "invalid number of arguments"
쿼리를 짜다가 아래와 같은 에러가 발생하였습니다.
예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.
아래의 쿼리는 LOC라는 컬럼이 NULL이라면 'IS NULL'이라고 조회하려고 작성한 예제입니다.
위의 쿼리를 실행하니 ORA-00909: "invalid number of arguments" 에러가 발생하였습니다.
에러가 발생한 이유는 NVL2의 인수로는 NVL2(컬럼명, 'NULL이 아니면 조회되는 값', 'NULL이면 출력되는 값') 총 3가지입니다.
하지만 위의 쿼리를 보면 인수는 2개가 들어갔습니다. 즉, 인수의 개수가 부족하여 에러가 발생한 것입니다.
해결 방법
사용하려는 함수를 인수의 개수를 맞춰주면 됩니다.
NVL2함수의 인수 개수를 맞춰서 쿼리를 다시 실행해보도록 하겠습니다.
NVL2함수의 인수를 3개 주니까 에러없이 잘 작동하는 것을 확인할 수 있습니다.
Reference
COALESCE() - NULL값을 치환하여 반환하는 함수