CLOB 타입 컬럼의 byte수를 알고 싶어요 0 1 8,206

by 조영욱 [Oracle 기초] CLOB 데이터타입 VARCHAR [2014.12.16 14:51:45]


현재 사용하는 테이블 A의 한 컬럼이 CLOB Type입니다.

CLOB의 내용들에 대해서 각 ROW 의 byte를 알고 싶어요..

아래의 SQL을 문을 쓰면  오류없이 byte수가 나오는 것도 있지만 오류를 보여주는 것도 있습니다.


(1) select dbms_lob.substr(컬럼, 4000, 1) from A

-> 오류: ORA-64203: 문자 집합 변환 후 대상 버퍼가 너무 작아 CLOB 데이터를 보유할 수 없습니다.

 

(2) select LENGTHB(TO_CHAR(dbms_lob.substr( 컬럼, 4000, 1))) from A 

-> 오류: PL/SQL: 수치 또는 값 오류: 문자열 버퍼가 너무 작습니다.

 

이렇게 오류나는 데이터들은 byte수를 어떻게 구할수 있을까요????

 

by DJ [2014.12.16 17:16:24]

아래 내용과 관련된 문제인것 같네요.

https://groups.google.com/forum/#!topic/comp.databases.oracle.server/t5ULp98BuQ4

한글이 들어간 부분은 2 byte내지 3byte 처리가 되기 때문에 4000이 넘어가게 되는거죠.

4000을 3000으로 줄이거나 해보세요.

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입