728x90
반응형
ORA-00932: 일관성 없는 데이터 유형: -이(가) 필요하지만 CLOB임
컬럼이 CLOB 타입이라서 정렬을 직접 할 수 없습니다.
(Oracle은 CLOB 타입을 ORDER BY, GROUP BY 등에서 바로 사용할 수 없어요.)
해결 방법
- CLOB을 VARCHAR로 캐스팅
만약 데이터가 4000자 이하라면 DBMS_LOB.SUBSTR 또는 CAST로 잘라서 정렬해야 합니다.여기서 4000은 잘라낼 길이, 1은 시작 위치예요. (VARCHAR2 최대 4000자까지 정렬 가능)
ORDER BY M.TENANT_CD, DBMS_LOB.SUBSTR(M.SP_MEMO, 4000, 1) ASC, M.INS_DT DESC
- SP_MEMO를 단순 조회용으로만 사용
정렬이 꼭 필요하지 않다면, 그냥 ORDER BY에서 빼세요.
- CLOB 컬럼을 VARCHAR 컬럼으로 변환
만약 자주 정렬/검색해야 하는 컬럼이라면, 테이블에 SP_MEMO_SORT 같은 VARCHAR2 컬럼을 추가해서 동기화 시키고, 그 컬럼으로 정렬하는 방법이 일반적입니다.
728x90
반응형
'Error' 카테고리의 다른 글
[Error][js] Uncaught SyntaxError: Unexpected token '>' (0) | 2025.08.11 |
---|---|
[Error][JAVA] error: package * does not exist (0) | 2025.07.18 |
[Error][dropzone] 파일누락현상, parallelUploads (0) | 2025.06.22 |
[Error] SQL Error [1950] [42000]: ORA-01950: 테이블스페이스 '*'에 대한 권한이 없습니다. (0) | 2025.05.27 |
[Error][intelliJ] File '파일 경로' not found. (0) | 2025.05.25 |