1. MySQL의 SUBSTRING 함수
설명:
SUBSTRING 함수는 문자열의 특정 위치에서 지정한 길이만큼의 부분 문자열을 반환하는 함수입니다.
SUBSTRING(string, start_position, length)
- string: 원본 문자열
- start_position: 추출을 시작할 위치 (1부터 시작)
- length: 추출할 문자열의 길이 (생략 시 끝까지 반환)
구문:
SUBSTRING(string, start_position, length)
예시:
SELECT SUBSTRING('Hello World', 7, 5) AS result;
결과:
result
------
World
이 예시에서, "Hello World" 문자열에서 7번째 문자부터 5글자를 추출하므로 결과는 "World"가 됩니다.
2. Oracle의 SUBSTR 함수
설명:
Oracle에서는 SUBSTR 함수가 동일한 역할을 수행합니다. 구문과 사용법이 MySQL과 유사하지만 함수 이름이 SUBSTR이라는 점만 다릅니다.
구문:
SUBSTR(string, start_position, length)
예시:
SELECT SUBSTR('Hello Oracle', 7, 6) AS result FROM dual;
결과:
result
------
Oracle
이 경우, "Hello Oracle"에서 7번째 문자부터 6글자를 추출하므로 결과는 "Oracle"이 됩니다.
3. MySQL의 REGEXP_SUBSTR 함수
설명:
REGEXP_SUBSTR 함수는 정규 표현식에 맞는 패턴을 추출하는 함수입니다. 패턴 매칭을 통해 좀 더 복잡한 문자열 조작을 수행할 수 있습니다.
구문:
REGEXP_SUBSTR(string, pattern, start_position, occurrence, match_type)
- string: 원본 문자열
- pattern: 정규 표현식 패턴
- start_position: 패턴 검색을 시작할 위치
- occurrence: 매칭할 패턴의 발생 순서 (기본값 1)
- match_type: 매칭 방식 (생략 가능)
예시:
SELECT REGEXP_SUBSTR('abc123def456', '[0-9]+', 1, 1) AS result;
결과:
result
------
123
이 쿼리는 "abc123def456" 문자열에서 처음으로 나타나는 숫자 패턴을 추출하며, 결과는 "123"이 됩니다.
4. Oracle의 REGEXP_SUBSTR 함수
설명:
Oracle의 REGEXP_SUBSTR 함수는 MySQL과 동일하게 정규 표현식을 사용하여 문자열에서 특정 패턴을 추출하는 기능을 제공합니다.
구문:
REGEXP_SUBSTR(string, pattern, start_position, occurrence, match_type)
예시:
SELECT REGEXP_SUBSTR('abc123def456', '[0-9]+', 1, 2) AS result FROM dual;
결과:
result
------
456
이 경우, 두 번째로 나타나는 숫자 패턴을 추출하므로 결과는 "456"이 됩니다.
결론
- MySQL의 SUBSTRING 함수와 Oracle의 SUBSTR 함수는 단순한 문자열 추출을 위한 함수입니다.
- MySQL과 Oracle의 REGEXP_SUBSTR 함수는 정규 표현식을 사용하여 복잡한 패턴을 추출할 때 사용됩니다.
이처럼 문자열을 다루는 함수들은 데이터 조작에 매우 유용하며, 각각의 특징을 이해하고 적절히 사용하면 다양한 상황에서 유용한 데이터를 추출할 수 있습니다.
'SQL' 카테고리의 다른 글
[ Oracle ] MySQL -> Oracle (0) | 2024.10.17 |
---|---|
[프로그래머스] 5월 식품들의 총매출 조회하기 (0) | 2024.06.17 |
[프로그래머스] 5월 식품들의 총매출 조회하기 (0) | 2024.06.17 |
[프로그래머스] 없어진 기록 찾기 (0) | 2024.06.14 |
[프로그래머스] 조건에 맞는 도서와 저자 리스트 출력하기 (0) | 2024.06.13 |