현재 사용하는 테이블 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수를 어떻게 구할수 있을까요????
아래 내용과 관련된 문제인것 같네요.
https://groups.google.com/forum/#!topic/comp.databases.oracle.server/t5ULp98BuQ4
한글이 들어간 부분은 2 byte내지 3byte 처리가 되기 때문에 4000이 넘어가게 되는거죠.
4000을 3000으로 줄이거나 해보세요.