펭귄집

ORACLE CLOB형 길이(length), 문자열 자르기(substr)


ORACLE에서 CLOB을 varchar2와 같은함수를 쓰면 에러남 ㅂㄷ

CLOB인거 문자열 자르기, length(길이) 확인은 아래처럼 하면됨


SELECT DBMS_LOB.SUBSTR(CLOB형 컬럼명, 자를 문자열 길이, OFFSET) AS "SUBSTR_DATA_COLUMN" -- 문자열 자르기
DBMS_LOB.GETLENGTH(CLOB형 컬럼명)  AS "COLUMN_DATA_LENGTH" , -- 문자열  
FROM ZORBA_EMPLOYEE  


이렇게라는데, 우선 난 길이만 확인하면 되서 문자열자르기는 안해봄

응용하면 아래와 같다

SELECT DBMS_LOB.SUBSTR(CONTENTS, 1, DBMS_LOB.GETLENGTH(CONTENTS)) AS "LAST_CONTENT_CHAR"
DBMS_LOB.GETLENGTH(CONTENTS)  AS "CONTENT_LENGTH" 
FROM ZORBA_EMPLOYEE      




이건 내가 해본 쿼리

SELECT APLY_NO, REG_DT, CERT_PBLKEY_AGRTM, DBMS_LOB.GETLENGTH(CSR), CSR
FROM ISUE_CMPLT_INF
WHERE 1=1
AND CERT_PBLKEY_AGRTM LIKE 'RSA(4096)'
AND CSR IS NOT NULL
ORDER BY REG_DT DESC



결과는 아래와 같음




까먹지말자





'SQL' 카테고리의 다른 글

Oracle VARCHAR2타입 최대 저장 길이  (0) 2024.01.26