시작하기, 뭐든

ORA-00932 : inconsistent datatypes: expected - got CLOB 에러(ORDER BY, GROUP BY, UNION) 본문

카테고리 없음

ORA-00932 : inconsistent datatypes: expected - got CLOB 에러(ORDER BY, GROUP BY, UNION)

Gascon 2022. 3. 10. 14:47
CLOB 데이터형이란?
- CLOB 데이터형이란? : 오라클 VARCHAR 형의 길이적 한계를 극복하기 위해 만들어진 데이터형
- 생성 이유 : 4000byte 넘는 char 기반의 데이터를 넣기 위해 생성된 데이터형
* 따라서 CLOB, BLOB  같은 타입은 일반적인 데이터 형의 컬럼들 처럼 사용하시면 안됨

출처 : https://okky.kr/article/390846?note=1231297

 

 

ORA-00932 : inconsistent datatypes: expected - got CLOB 에러 발생 원인
1. ORDER BY 절에 CLOB 데이터형이 있을 경우
2. GROUP BY절에 CLOB 데이터형이 있을 경우
3. CLOB가 있는 쿼리를 "UNION" 했을 경우

해당 오류는 CLOB를 일반적인 데이터타입처럼 조건절에 쓰면 에러가 나는거 같다.

 

내가 겪은 상황은 ORDER BY, GROUP BY절에 CLOB 데이터형이 쓰이지 않아서 왜 오류가 난지 찾는데 시간이 걸렸다. 

문제는 바로 "UNION"...

UNION이 문제일거라 생각도 못했는데, 혹시나 해서 찾아봤을때 역시나 해답은 스택보으에 있었음...

 

https://stackoverflow.com/questions/17732302/error-ora-00932-when-using-a-select-with-union-and-clob-fields

 

Error ORA-00932 when using a select with union and CLOB fields

First of all, this isn't a duplicate of this question. If it is, sorry but I couldn't solve my problem by reading it. I'm getting this error: ORA-00932: inconsistent datatypes: expected - got CLOB

stackoverflow.com

간략하게 정리하자면,

"UNION은 중복검사를 실행하기 때문에 CLOB에 대한 중복검사를 실시할 수 없어서 난 에러"인듯 하네요.

실제로 "UNION ALL"을 사용했을 땐 에러 해결됐네욥.

 

Comments