DataBase/Oracle

ORA-00932: 일관성 없는 데이터 유형: -이(가) 필요하지만 CLOB임 - 에러 해결

희랍인 조르바 2018. 9. 13. 11:40


1
2
SELECT DISTINCT SOME_SEQ(NUMBER형 컬럼), SOME_CLOB(CLOB형 컬럼)
  FROM DEMO_TABLE
cs


이와 유사하게 DISTINCT 기능을 사용하려다 발생한 에러.


DISTINCT를 사용할 때 CLOB형 컬럼이 있으면 원하는 기능이 실행되지 않는다. 


DISTINCT를 사용하고 싶다면 CLOB형 컬럼은 제외하고 사용해야 한다. 


방법은 스택오버플로우를 참고했다. click


1
2
3
4
5
6
7
SELECT a.*
    , b.SOME_CLOB
  FROM (SELECT DISTINCT SOME_SEQ
          FROM DEMO_TABLE) a
INNER JOIN DEMO_TABLE b
        ON a.pk = b.pk
 
cs



위처럼 CLOB형 컬럼은 따로 빼고 DISTINCT를 해줘야한다.


시도해보진 않았지만, 다른 유저의 코멘트로는


CLOB형 컬럼에 데이터들이 4000 characters만 넘지 않는 다면,


TO_CHAR를 이용해서 DISTINCT를 사용할 수 있다고 한다. (위 방법이 귀찮으면 시도해보세요~)