이번 글에서는 ORA-00938: 함수의 인수가 충분하지 않습니다 에러 해결 방법에 대하여 알아보겠습니다.
ORA-00938: 함수의 인수가 충분하지 않습니다
ORA-00938: "not enough arguments for function"
쿼리를 짜다가 아래와 같은 에러가 발생하였습니다.
예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.
아래의 쿼리는 coalesce라는 함수를 사용하여 null인 값을 바꾸어 조회하려고 작성한 예제입니다.
위의 쿼리를 실행하니 ORA-00938: "not enough arguments for function" 에러가 발생하였습니다.
에러가 발생한 이유는 COALESCE 함수의 인수로는 COALESCE("컬럼명", 'NULL일 경우 치환할 값')을 받아와야합니다.
즉, 인수를 2가지 적어야하는데 1가지만 적어서 발생한 에러입니다.
해결 방법
어떤 함수를 사용하셨다면 그 함수의 인수에 맞게 적어주시면 됩니다.
COALESCE 함수의 인수를 올바르게 입력하여 쿼리를 다시 실행해보도록 하겠습니다.
먼저, DEPT 테이블의 LOC 컬럼을 조회해보겠습니다. NULL 값들이 있는 것을 확인할 수 있습니다.
위의 쿼리를 COALESCE함수를 이용하여 다시 쿼리를 조회해 보도록 하겠습니다.
인수 수랑 맞추니 에러없이 정상적으로 실행하는 것을 확인할 수 있습니다. 또한, null값이 0으로 바꾸어 출력된 것을 확인할 수 있습니다.
Reference
COALESCE() - NULL이 아닌 값을 반환하는 함수