DataBase/Oracle
[Oracle] 오라클 CLOB형 LENGTH(길이) 구하기, SUBSTR(문자열 자르기) 하는 방법
희랍인 조르바
2018. 9. 4. 18:02
오라클에서 CLOB을 VARCHAR2와 같은 함수를 쓰면 에러가 발생한다.
CLOB형태의 컬럼 데이터를 길이를 구하고, 문자열을 자르려면
DBMS_LOB.GETLENGTH, DBMS_LOB.SUBSTR을 사용하면 된다.
아래처럼 사용하면 된다. 컬럼은 CLOB형이어야한다.
1 2 3 4 5 | SELECT DBMS_LOB.SUBSTR(CLOB형 컬럼명, 자를 문자열 길이, OFFSET) AS "SUBSTR_DATA_COLUMN" -- 문자열 자르기 DBMS_LOB.GETLENGTH(CLOB형 컬럼명) AS "COLUMN_DATA_LENGTH" , -- 문자열 FROM ZORBA_EMPLOYEE | cs |
응용하면 아래처럼 사용할 수 있다.
첫번째는 문자열을 잘라서 마지막 1 글자만 얻어내려는 방법이고,
두번째는 테이블의 CONTENTS라는 컬럼의 데이터 길이를 알아내기 위함이다.
1 2 3 4 5 | SELECT DBMS_LOB.SUBSTR(CONTENTS, 1, DBMS_LOB.GETLENGTH(CONTENTS)) AS "LAST_CONTENT_CHAR" DBMS_LOB.GETLENGTH(CONTENTS) AS "CONTENT_LENGTH" , FROM ZORBA_EMPLOYEE | cs |