DB8 S/4HANA - 특정 구분자로 이루어진 문자열 부분 추출 - SUBSTRING_REGEXPR / REGEXP_SUBSTR 'AAAA/BBBB/CCCC/DDDD/EEEE' 에서 CCCC만 갖다 쓰고 싶은 경우 📌 SUBSTRING_REGEXPR 사용 (S/4HANA 표준 함수)SELECT SUBSTRING_REGEXPR('(?🔹 해석(?[^/] → /가 아닌 문자들을 매칭.(?=/) → 뒤에 /가 있는 경우 찾음.OCCURRENCE 2 → 두 번째 슬래시(/) 사이의 값을 추출. 📌 REGEXP_SUBSTR 사용 (대안) SELECT REGEXP_SUBSTR('AAAA/BBBB/CCCC/DDDD/EEEE', '[^/]+', 1, 3) AS extracted_value FROM DUMMY;🔹 해석'[^/]+' → /을 제외한 문자열을 찾음.1, 3 → 세 번째 구분자 사이 값을 가져옴 (CCCC). 📌 테이블에.. 2025. 2. 6. S/4HANA에서 문자·숫자만 남기기 REGEXP_REPLACE와 REPLACE_REGEXPR 함수 사용법 재작년 3월에 hana 관련 내가 적은 글 봐도 뭔 소린지... 이게 실무와 공부의 차이인가(아님) 문제 : 1. 알수없는 문자와 LF,CR 등이 문자열에 끼어 DB에 저장 되어 있음(내가 만든거 아님..)2. where 절에 조건으로 넣으니 검색이 안됨 1차 해결 : REPLACE와 CHR(10), CHR(13)으로 간단하게 해결하기SELECT * FROM TABLE_NAME WHERE REPLACE(COLUMN_NAME, CHR(10), '') LIKE '%' || REPLACE(COLUMN_NAME, CHR(10) || CHR(13), '') || '%'로 어느정도 해결 되는 듯 했으나 또 검색 조건에 안 걸림 2차 해결 : REGEXP_REPLACE()극단적으로 숫자와 문자를 제외하고 모든.. 2025. 2. 5. [Oracle] 자주 쓰는 쿼리 * Oracle 11g 32비트를 사용하고 있습니다. 오늘이 1년 중 몇 주차인지, 주간 보고 적을 때 사용ㅎㅎ.. SELECT TO_char(SYSDATE, 'ww') 주차 FROM dual; 2023. 5. 17. SQLP 기본 개념 SQL 고급 활용 및 튜닝 :: 류프리 (tistory.com) SQL 고급 활용 및 튜닝 과목3. SQL 고급 활용 및 튜닝1장. 아키텍처 기반 튜닝 원리제1절. 데이터베이스 아키텍처 제2절. SQL 파싱 부하 제3절. 데이터베이스 Call과 네트워크 부하 제4절. 데이터베이스 I/O 원리 2장. Lock과 트 ryufree.tistory.com SQLP 합격후기 (aerocode.net) SQLP 합격후기 공부기간 먼저 이것은 특이 케이스임을 미리 밝힙니다. SQLP 취득 당시에 군인(병장, 24살)이였으며, 군부대 안에서 공부했습니다. 튜닝 경험이 일절 없으며, 튜닝을 교재로만 배웠습니다. 공부기 aerocode.net 기출문제 https://blog.naver.com/oracledo/2204069.. 2023. 4. 12. PL/SQL 테이블 구조, 테이블 칼럼만 보는 단축키 Rollback 테이블 구조 보는 단축키 먼저 설정을 해야하는데요, Tools -> Preferences -> Key Configuration SQL Window Open : File / New / SQL Window : F2 블록주석 : Edit / Selection / Comment : Ctrl + / 블록주석해제 : Edit / Selection / Uncomment : Shift + Ctrl + / SQL 실행 : Session / Execute : 기존 F8 -> 변경 Ctrl + Enter 테이블 정보 : Object: Properties : F3 컬럼 정보 : Object: Describe : F4 이렇게 설정해주시면 됩니다. 사용 방법은요 테이블 정보와 컬럼 정보는 SELECT * FROM.. 2023. 4. 6. [오라클] 인덱스 인덱스 : DB 테이블에 대한 검색 성능의 속도를 높여주는 자료구조 특정 칼럼에 인덱스를 생성하면 해당 칼럼의 데이터들은 정렬해 별도의 메모리 공간에 저장됨 인덱스 생성 칼럼을 where 조건으로 걸면 옵티마이저 판단하에 인덱스 타고, 검색속도 향상 PK - PK는 자동으로 인덱스 생성 - 옵티마이저가 빠른 실행계획을 만드는데 도움이 됨 - 테이블당 하나 유니크 키 - 키가 될 수 있는 후보 키 출처 : [DB] 데이터베이스 인덱스(Index) 란 무엇인가? (tistory.com) 2023. 3. 24. Oracle -> S4Hana translate 대체 함수 SAP HANA SQL Reference Guid에서 찾았다. SAP HANA랑 S4 HANA랑 다르다는 글이 공홈에 있던데.. 일단 그건 나중에 알아보자. 원래 오라클에서 translate와 replace가 있다. REPLACE 함수는 문자열 치환 함수인데 예시를 보자. SELECT REPLACE('내가 그린 기린 그림은 긴 그림이고', '그', '1') FROM DUAL; => 내가 1린 기린 1림은 긴 1림이고 select replace('내가 그린 기린 그림은 긴 그림이고', '그기', '12') from dual; => 내가 그린 기린 그림은 긴 그림이고 그기라는 문자열 전체를 비교함. 없으니까 변환 안 함. TRANSLATE 함수는 문자열 한글자씩 치환한다. SELECT REPLACE('내가 .. 2023. 3. 13. [S4/HANA] ORACLE -> HANA SQL Query 변환 팁 먼저 글의 순서는 ORACLE -> HANA입니다. 참고해주세요 너무 잘 정리 되어서 내용 그대로 제 블로그에 적었습니다..[SAP HANA 기획연재] 개발부터 성능튜닝까지 이렇게 끝낸다 (his21.co.kr) 1. DUAL => DUMMY2. DECODE > MAP3. RANKRANK() OVER (PARTITION BY expression ORDER BY window_order_by_clause)4. DENSE_RANKDENSE_RANK() OVER(PARTITION BY expression ORDER BY window_order_by_clause)5. ROWNUMBERRANK나 DENSE RANK 함수가 동일한 값에 대해서는 같은 순위를 부여하는데 반해, ROW_NUBMER은 동일한 값이라도 고유.. 2023. 3. 10. 이전 1 다음