02. Error

[에러해결][오라클] ORA-00932: 일관성 없는 데이터 유형: DATE이(가) 필요하지만 CHAR임

devamy 2024. 6. 20. 10:00

원인)

CASE 문 사용시,
THEN 이후 받아오는 데이터 타입과
ELSE 이후 받아오는 데이터 타입이 '불일치' 하기 때문에 발생한 현상
 
즉, THEN 이후 DATE형을 받아왔으면,
ELSE도 똑같이 DATE형으로 받아와야 하는데, VARCHAR2 타입으로 받아왔기 때문이다.
 

문제 쿼리)

SELECT 
CASE
        WHEN A_STTUS IS NOT NULL THEN A_REG_DATE
        WHEN B_STTUS IS NOT NULL THEN B_REG_DATE
        WHEN C_STTUS IS NOT NULL THEN C_REG_DATE
        ELSE '-'
  END AS REG_DATE,
 
※ A_REG_DATE, B_REG_DATE, C_REG_DATE는 데이터타입이 DATE
 

해결방법)

ELSE를 없앴다.