Database
SQL, SUBSTR 함수 사용법 (문자열 자르기)
번복
2023. 5. 31. 22:20
SUBSTR 함수는 SQL에서 특정 문자열의 부분 문자열을 추출하는 데 사용됩니다. DBMS 별로 함수명에 차이가 조금 있습니다. MYSQL과 오라클은 SUBSTR()을, MS SQL Server, PostgreSQL은 SUBSTRING()을 사용합니다. 사용법은 거의 비슷하지만 이 글에선 SUBSTR를 기준으로 알아보겠습니다.
SUBSTR
구문
SUBSTR(string, start_position, length)
- string : 부분 문자열을 추출하려는 문자열
- start_position : 문자열에서 부분 문자열이 시작되는 위치. 첫 번째 문자의 위치는 1
- length : 추출할 부분 문자열의 길이
예시 1) 성과 이름 구분
아래와 같이 한국 사람 이름이 저장된 People 테이블이 있다고 가정합니다.
만약 성과 이름을 분리하고 싶다면 SUBSTR 함수를 이용해 아래와 같이 쿼리 할 수 있습니다.
SELECT ID,
FullName,
SUBSTR(FullName, 1, 1) AS LastName, -- 성 추출
SUBSTR(FullName, 2) AS FirstName -- 이름 추출
FROM People;
예시 2) 날짜 표기 자르기
아래와 같이 날짜가 저장된 Dates 데이블이 있습니다.
현재 컬럼에는 yyyy-mm-dd 형태로 값이 저장되어 있지만 SUBSTR 함수를 이용해서 yyyy-mm까지만 반환할 수 있습니다.
SELECT ID,
Date,
SUBSTR(Date, 1, 7) AS YearMonth -- 년도와 월 추출
FROM Dates;
예시 3) 식별 코드 분리
아래와 같이 제품 코드가 저장된 Products 테이블이 있습니다.
SUBSTR 함수는 종종 식별자나 코드에서 특정 부분을 추출할 때 사용됩니다. 예를 들어 첫 번째 두 자리가 제품 카테고리를 나타내고, 그다음 세 자리가 제품의 고유 번호를 나타내는 구조인 경우에 아래와 같이 카테고리와 제품 번호를 분리할 수 있습니다.
SELECT ID,
ProductCode,
SUBSTR(ProductCode, 1, 2) AS Category, -- 카테고리 부분 추출
SUBSTR(ProductCode, 4, 3) AS ProductNumber -- 제품 번호 부분 추출
FROM Products;
반응형