쿼리 작성할때 문자열의 일부분을 잘라서 사용해야 할 경우가 있어요. 예를들어 주민번호 앞 6자리를 자른다거나 전화번호의 뒤 4자리만 자른다거나 할때 사용하는 함수들이 오늘의 주제 문자열 추출 함수예요.
대표적으로 SUBSTRING, LEFT, RIGHT 세가지가 있는데 사실 SUBSTRING 하나만 마스터 하셔도 상관은 없어요. 이 함수 하나로 나머지 LEFT, RIGHT두 함수의 기능을 구현할 수 있거든요. 하지만 보다 편리하게 사용하기 위해서는 세가지 함수 모두 숙지하시는게 좋아요. 별로 어렵지 않으니까 한번 같이 알아볼까요?
📌 SUBSTRING, LEFT, RIGHT 함수란?
SQL에서 SUBSTRING, LEFT, RIGHT는 문자열에서 일부를 추출할 때 사용하는 필수 함수입니다.
한 마디로 문자열을 잘라 내는 거에요
함수 | 설명 |
SUBSTRING(str, start, length) | str에서 start 위치부터 length만큼 추출 |
LEFT(str, length) | str의 왼쪽부터 length만큼 추출 |
RIGHT(str, length) | str의 오른쪽부터 length만큼 추출 |
1. SUBSTRING / LEFT / RIGHT 기본 사용 예제
1. SUBSTRING – 중간 부분 추출
SELECT SUBSTRING('ABCDEF', 2, 3) AS Result;
-- 결과: 'BCD'
2. LEFT – 왼쪽 일부 추출
SELECT LEFT('ABCDEF', 4) AS Result;
-- 결과: 'ABCD'
3. RIGHT – 오른쪽 일부 추출
SELECT RIGHT('ABCDEF', 2) AS Result;
-- 결과: 'EF'
✅ 문자열에서 필요한 부분만 뽑아내기 아주 편리합니다!
2. SUBSTRING 실무 예제: 주민등록번호에서 생년월일과 성별 코드 추출
SELECT
SUBSTRING(SSN, 1, 6) AS BirthDate,
SUBSTRING(SSN, 8, 1) AS GenderCode
FROM Users;
✅ SSN이 '900101-1234567'일 때 생년월일: 900101, 성별코드: 1
3. LEFT, RIGHT 활용 예시
상품 코드에서 접두사/접미사 추출
SELECT
LEFT(ProductCode, 3) AS Category,
RIGHT(ProductCode, 2) AS SizeCode
FROM Products;
✅ 상품코드가 'ABC-00045-XL' 이라면 앞 3자리 ABC, 뒤 2자리 XL 추출 가능
4. 실무 팁: 전화번호 포맷 구성
SELECT
LEFT(PhoneNumber, 3) + '-' +
SUBSTRING(PhoneNumber, 4, 4) + '-' +
RIGHT(PhoneNumber, 4) AS FormattedPhone
FROM Contacts;
📌 01012345678 → 010-1234-5678 형식으로 가공
5. 주의할 점
- 문자열 인덱스는 1부터 시작합니다 (SUBSTRING 기준)
- LEFT, RIGHT는 문자열 길이를 넘어설 경우 자동으로 최대 길이만큼 반환
- 숫자형 데이터는 문자열로 형 변환(CAST) 후 사용 필요
📝 마무리 정리
- SUBSTRING, LEFT, RIGHT는 SQL 문자열 가공에서 가장 자주 쓰이는 핵심 함수입니다.
- 특정 위치에서 텍스트 추출, 코드 분리, 포맷 정리 등 실무에 꼭 필요한 기능입니다.
- 간단한 추출 작업엔 LEFT, RIGHT, 더 유연한 추출에는 SUBSTRING을 사용하세요.
💬 읽어주셔서 감사합니다.
공감 + 댓글 은 큰 힘이 됩니다.
여러분의 응원은 컨텐츠 제작에 큰 힘이 됩니다! 😊
2025.06.09 - [MS-SQL] - [MS-SQL] REPLACE 함수 완벽 가이드: 문자열 바꾸기 실전 예제와 꿀팁
[MS-SQL] REPLACE 함수 완벽 가이드: 문자열 바꾸기 실전 예제와 꿀팁
🔍 요약: MS-SQL의 문자열 치환 함수 REPLACE에 대해 예제를 중심으로 쉽게 설명합니다. SQL에서 특정 문자열을 다른 문자열로 바꾸고 싶다면 이 포스팅을 확인해보세요. 쿼리 작성시에 문자열 내에
kjh11225it.tistory.com
'MS-SQL' 카테고리의 다른 글
[MS-SQL] STUFF 함수 완벽 정리 – 문자열 조작의 핵심 함수! (1) | 2025.06.11 |
---|---|
[MS-SQL] REPLACE 함수 완벽 가이드: 문자열 바꾸기 실전 예제와 꿀팁 (0) | 2025.06.10 |
MS-SQL에서는 LPAD 없다고요? 직접 구현하는 방법까지 알려드립니다 (0) | 2025.06.08 |
[MS-SQL] DATEADD 함수 사용법 – 날짜 더하고 빼는 실무 활용 예제 (0) | 2025.06.07 |
[MS-SQL] DATEDIFF 함수로 날짜 차이 계산하기 – 실무 예제로 쉽게 배우기 (0) | 2025.06.06 |