일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스프링부트
- Leetcode
- 구글로그인
- kotlin 클래스
- 자바스크립트
- mysql
- js
- oauth2
- 스프링시큐리티
- 스프링부트 채팅서버
- SQL
- 프로그래머스
- oracle
- 스프링
- SQL 문제풀이
- 파이게임
- java8
- python
- 자바 스트림
- springboot
- spring boot
- 코틀린 클래스
- pygame
- Spring
- javascript
- LeetCode SQL
- 자바8
- 오라클
- SQL프로그래머스
- MSA
Archives
- Today
- Total
웅겹살의 프로그래밍 삼매경
[SQL] Oracle 정규식(Regular Expression) 본문
728x90
Oracle 정규식(Regular Expression) 을 정리해보자
실무에서도 필요한 정규식을 그루핑해서 오라클함수로 만들어 쓰면 편하다
1. REGEXP_SUBSTR
REGEXP_SUBSTR( string, pattern [, start_position [, nth_appearance [, match_parameter ] ] ] )
REGEXP_SUBSTR( 해당 문자열, 정규식패턴 [, 시작위치 [, 일치횟수 [, 매칭 파라미터 ] ] ] )
EMAIL의 @ 앞의 부분만 출력하기
WITH SUBSTR_TEST AS (
SELECT '삼겹살@naver.com' AS EMAIL FROM dual
UNION
SELECT '상추와쌈장@yahoo.com' AS EMAIL FROM dual
UNION
SELECT '와사비와기름장@daum.net' AS EMAIL FROM dual
)
SELECT
REGEXP_SUBSTR(EMAIL, '[^@]+') AS FINAL_EMAIL
FROM SUBSTR_TEST;
2. REGEXP_REPLACE
REGEXP_REPLACE( string, pattern [, replacement_string [, start_position [, nth_appearance [, matching parameter ] ] ] ] )
REGEXP_REPLACE( 해당 문자열, 정규식 패턴, [, 대체문자열 [, 시작위치 [, 일치횟수 [, 매칭 매개변수 ] ] ] ] )
2칸 이상 공백이 생긴 내용을 1개의 공백으로 REPLACE하기
WITH REPLACE_TEST AS (
SELECT '삼겹살 항정상 가브리살' AS 결과 FROM dual
UNION ALL
SELECT '쌈장과 상추는 필수' AS 결과 FROM dual
)
SELECT
REGEXP_REPLACE(결과, '( ){2,}', ' ') AS STR
FROM REPLACE_TEST;
728x90
'SQL > SQL공부' 카테고리의 다른 글
[SQL] Oracle TO_CHAR (0) | 2021.06.10 |
---|---|
[SQL] Oracle WITH절(임시테이블) (0) | 2021.06.09 |
[SQL] Drop, Truncate, Delete 차이점 (0) | 2021.06.08 |
[SQL] Oracle 날짜함수 (계속 추가중) (0) | 2021.06.07 |
[SQL] Oracle LISTAGG 함수 (2) | 2021.05.31 |
Comments