본문으로 바로가기

   

 

이번 글에서는 ORA-00932: 일관성 없는 데이터 유형: NUMBER이(가) 필요하지만 DATE임 에러 해결 방법에 대하여 알아보겠습니다.

 

ORA-00932: 일관성 없는 데이터 유형: NUMBER이(가) 필요하지만 DATE임

ORA-00932: "inconsistent datatypes: expected NUMBER got DATE"

 

 

쿼리를 짜다가 아래와 같은 에러가 발생하였습니다.

 

 

예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.

아래의 쿼리는 deptno가 0보다 작다면 0을, 0보다 크다면 현재 날짜를 조회하려고 작성한 예제입니다.

 

위의 쿼리를 실행하니 ORA-00932: "inconsistent datatypes: expected NUMBER got DATE" 에러가 발생하였습니다.

에러가 발생한 이유는 THEN 절에서 NUMBER 형인 0을 받아왔으면 ELSE 절에서도 NUMBER 형을 받아와야 하는데 DATE 형인 SYSDATE가 오고 있습니다.

즉, THEN 절의 데이터 타입과 ELSE 절의 데이터 타입이 일치하지 않습니다.

 

해결 방법

THEN 절의 데이터 타입과 ELSE 절의 데이터 타입을 일치시킵니다.

 

THEN 절의 타입과 ELSE 절의 타입을 둘 다 NUMBER 형으로 줘서 다시 실행해 보도록 하겠습니다.

 

THEN 절과 ELSE 절을 모두 DATE 형으로 주니 에러 없이 정상적으로 작동이 잘 되는 것을 확인할 수 있습니다.