'AAAA/BBBB/CCCC/DDDD/EEEE' 에서 CCCC만 갖다 쓰고 싶은 경우
📌 SUBSTRING_REGEXPR 사용 (S/4HANA 표준 함수)
SELECT SUBSTRING_REGEXPR('(?<=/)[^/]+(?=/)' IN 'AAAA/BBBB/CCCC/DDDD/EEEE' OCCURRENCE 2) AS extracted_value
FROM DUMMY;
🔹 해석
- (?<=/) → 앞에 /가 있는 경우 찾음.
- [^/] → /가 아닌 문자들을 매칭.
- (?=/) → 뒤에 /가 있는 경우 찾음.
- OCCURRENCE 2 → 두 번째 슬래시(/) 사이의 값을 추출.
📌 REGEXP_SUBSTR 사용 (대안)
SELECT REGEXP_SUBSTR('AAAA/BBBB/CCCC/DDDD/EEEE', '[^/]+', 1, 3) AS extracted_value
FROM DUMMY;
🔹 해석
- '[^/]+' → /을 제외한 문자열을 찾음.
- 1, 3 → 세 번째 구분자 사이 값을 가져옴 (CCCC).
📌 테이블에서 적용하는 경우
SELECT SUBSTRING_REGEXPR('(?<=/)[^/]+(?=/)' IN column_name OCCURRENCE 2) AS extracted_value
FROM table_name;
또는
SELECT REGEXP_SUBSTR(column_name, '[^/]+', 1, 3) AS extracted_value
FROM table_name;
위 방식으로 CCCC 부분만 추출할 수 있음! 🚀
'DB > ORACLE,HANA' 카테고리의 다른 글
S/4HANA에서 문자·숫자만 남기기 REGEXP_REPLACE와 REPLACE_REGEXPR 함수 사용법 (0) | 2025.02.05 |
---|---|
[Oracle] 자주 쓰는 쿼리 (0) | 2023.05.17 |
PL/SQL 테이블 구조, 테이블 칼럼만 보는 단축키 (0) | 2023.04.06 |
[오라클] 인덱스 (0) | 2023.03.24 |
Oracle -> S4Hana translate 대체 함수 (0) | 2023.03.13 |