MSSQL 문자열 자르기 (SUBSTRING, LEFT, RIGHT)
MS SQL 쿼리문에서 문자열 데이터를 원하는 값으로 자르기가 필요할 때가 있습니다. 예로 주민번호 데이터로 생년월일, 성별을 추출할 수 있겠죠. 그럼 간단한 예제를 통해서 SUBSTRING, LEFT, RIGHT 함수에 대해서 알아보죠.
포스트 기준
– Microsoft SQL Server 2019
– SSMS 18.10
구문
1. LEFT
▶ 문자열의 왼쪽부터 지정된 수만큼의 문자를 반환합니다.
구문 (syntaxsql)
LEFT ( character_expression , integer_expression )
2. RIGHT
▶ 지정된 문자 수만큼 문자열의 오른쪽 부분을 반환합니다.
구문 (syntaxsql)
RIGHT ( character_expression , integer_expression )
3. SUBSTRING
▶ 문자열의 지정한 위치에서 왼쪽부터 지정된 수만큼의 문자를 반환합니다.
구문 (syntaxsql)
SUBSTRING ( expression ,start , length )
사용 예제
1. 예제 1)
SELECT '881201-1234567' AS '주민번호'
, LEFT('881201-1234567', 6) AS '생년월일'
, RIGHT('881201-1234567', 7) AS '주민번호 뒷자리'
, SUBSTRING('881201-1234567', 8, 1) AS '성별'
2. 예제 2)
-- 1) 사원정보 중에서 90년생 직원만 추출
SELECT *
FROM 사원정보 (NOLOCK)
WHERE LEFT(주민번호, 2) = '90' -- 90년생 직원만 추출
-- 2) 사원정보 중에서 이름만 추출
SELECT RIGHT(성명, 2)
FROM 사원정보 (NOLOCK)
-- 3) 사원정보 중에서 남자 직원만 추출
SELECT *
FROM 사원정보 (NOLOCK)
WHERE SUBSTRING(REPLACE(주민번호, '-', ''), 7, 1) IN ('1','3') -- 남자 직원만 추출
관련 이전 게시글
이 글이 도움이 되셨다면 공유를 부탁드립니다. 다음 글에서 뵙겠습니다!