[Oracle] REGEXP_SUBSTR/문자 분리하기
REGEXP_SUBSTR(컬럼명, '[^;]+', 1, 몇번째) DATA : 1111;2222;3333 REGEXP_SUBSTR(COL_1, '[^;]+', 1, 1)==> 1111 REGEXP_SUBSTR(COL_1, '[^;]+', 1, 2)==> 2222 REGEXP_SUBSTR(COL_1, '[^;]+', 1, 3)==> 3333
2020. 4. 27.
[Oracle] 캐릭터셋 중복 제거
>>SELECT DISTINCT(NLS_CHARSET_NAME(CHARSETID)) CHARACTERSET, DECODE(TYPE#, 1, DECODE(CHARSEETFORM, 1, 'VARCHAR2', 2, 'NVARCHAR2', 'UNKOWN'), 9, DECODE(CHARSEETFORM, 1, 'VARCHAR2', 2, 'NVAR VARYING', 'UNKOWN'), 96, DECODE(CHARSEETFORM, 1, 'CHAR', 2, 'NCHAR', 'UNKOWN'), 112, DECODE(CHARSEETFORM, 1, 'CLOB',..
2019. 9. 24.
[Oracle] 통계정보 생성
-- 해당 스키마에 해당하는 테이블과 테이블 스페이스 조회SELECT OWNER, TABLE_NAME, TABLESPACE_NAME FROM DBA_TABLES WHERE OWNER = '스키마명'; -- 해당 스키마에 해당하는 테이블의 통계정보 조회SELECT TABLE_NAME, NUM_ROWS, CHAIN_CNT, BLOCKS, EMPTY_BLOCKS, AVG_SPACE, AVG_ROW_LEN FROM DBA_TABLES WHERE OWNER = '스키마명'; -- 해당 스키마에 해당하는 인덱스의 통계정보 조회SELECT TABLE_NAME, INDEX_NAME, STATUS, NUM_ROWS, LEAF_BLOCKS, BLEVEL FROM DBA_INDEXES WHERE OWNER = '스키마명';..
2018. 12. 13.
[Oracle] 컬럼을 행으로 변경
## 여러개 컬럼을 하나의 컬럼으로 변경 WITH TT AS(SELECT 1 AS EMP_ID, 10 AS A_VAL, 20 B_VAL, NULL AS C_VAL FROM DUALUNION ALLSELECT 2 AS EMP_ID, 30 AS A_VAL, 40 B_VAL, 50 AS C_VAL FROM DUALUNION ALLSELECT 3 AS EMP_ID, 60 AS A_VAL, 70 B_VAL, 80 AS C_VAL FROM DUAL)SELECT EMP_ID, KEY_1, VAL_1FROM TTUNPIVOT (VAL_1 FOR KEY1 IN (A_VAL AS 'A', B_VAL AS 'B', C_VAL AS 'C'))WHERE 1=1AND EMP_ID ## 결과 ##EMP_ID KEY_1 ..
2017. 8. 3.