Oracle instr 함수로 문자열 자르기
반응형
Oracle instr 함수는 문자열(텍스트)에서 특정 문자의 위치를 리턴해주는 함수입니다.
instr 함수와 substr 함수를 함께 사용하여 특정 문자를 기준으로 텍스트를 파싱하여 가져올 수 있습니다.
아래와 같이 '|' 기호로 구분되어 있는 문자열이 있을 때, '|' 기호의 위치를 찾아 substr 함수를 이용하면 내용별로 잘라올 수 있겠죠.
1 2 | SELECT 'Start|안녕,|반가워!|End' FROM dual | cs |
이제 '|' 기준으로 문자열을 잘라서 가져와봅시다.
1 2 3 4 5 6 7 8 9 | SELECT 내용 , SUBSTR(내용, 1, INSTR(내용, '|', 1, 1) - 1) AS a , SUBSTR(내용, 1, INSTR(내용, '|', 1, 1) + 1, INSTR(내용, '|', 1, 2) - INSTR(내용, '|', 1, 1) - 1) AS b , SUBSTR(내용, 1, INSTR(내용, '|', 1, 2) + 1, INSTR(내용, '|', 1, 3) - INSTR(내용, '|', 1, 2) - 1) AS c , SUBSTR(내용, 1, INSTR(내용, '|', 1, 3) + 1) AS d FROM (SELECT 'Start|안녕,|반가워!|End' AS "내용" FROM dual) | cs |
위 쿼리를 실행하면 아래와 같은 결과값이 나옵니다.
내용 |
a |
b |
c |
d |
Start|안녕,|반가워!|End |
Start |
안녕, |
반가워! |
End |
인터페이스 전문 송/수신 혹은 배치에서 대량에 데이터를 파일로 읽고 쓸 때 처리 속도와 성능을 위해서 전문 데이터를 가볍게?.. 만들어서 송/수신 혹은 입/출력에 사용합니다.
원부에서는 각각의 컬럼으로 데이터를 관리하지만, 종종 전송이력 혹은 파일 이력을 관리하는 테이블에는 저런 형식의 전문데이터가 통으로 들어가있는 경우가 있습니다.
인터페이스 이력 결과 데이터에서 역으로 프로그램을 찾아갈 때, 가독성있게 표시해서 데이터의 의미를 파악하기 위해 사용했던 쿼리였습니다.
반응형
'데이터 관리 > Database' 카테고리의 다른 글
DBCP(Database Connection Pool) 이해 (0) | 2021.04.07 |
---|---|
Mac OS 오라클 설치하기 (0) | 2021.02.28 |
카디널리티와 복합키 순서 그리고 PK Index (1) | 2020.10.12 |
ORACLE SQL paging 처리 (0) | 2017.03.21 |
Oracle CLOB 컬럼 Select 시 주의사항 (ORA-06502) (4) | 2017.01.24 |
댓글
이 글 공유하기
다른 글
-
Mac OS 오라클 설치하기
Mac OS 오라클 설치하기
2021.02.28 -
카디널리티와 복합키 순서 그리고 PK Index
카디널리티와 복합키 순서 그리고 PK Index
2020.10.12 -
ORACLE SQL paging 처리
ORACLE SQL paging 처리
2017.03.21 -
Oracle CLOB 컬럼 Select 시 주의사항 (ORA-06502)
Oracle CLOB 컬럼 Select 시 주의사항 (ORA-06502)
2017.01.24