문자열 자르기
MSSQL에서 문자열 자르는 방법에 대해 소개합니다.
MSSQL 문자열 자르는 내장 함수인 SUBSTRING, LEFT, RIGHT 함수들을 통해 손쉽게 문자열을 자를 수 있습니다.
SUBSTRING
가장 대표적인 문자열 자르는 내장 함수입니다.
사실 이 함수만 사용할 줄 안다면 LEFT와 RIGHT함수는 모르셔도 괜찮습니다.
문법
--// 문법
SUBSTRING(대상문자열, 시작문자인덱스, 자를문자수)
--> 대상문자열에서 시작문자인덱스부터 자를문자수 만큼 문자를 잘라 출력합니다.
예시
--// 예제
SELECT SUBSTRING('TARGET_STRING', 3, 3)
--> 결과: RGE
💡시작 문자 인덱스는 1부터 시작합니다. 즉 첫 글자가 1, 두 번째 글자가 2입니다.
LEFT
문자열의 왼쪽부터 ~번째 글자까지 잘라주는 내장 함수입니다.
첫 글자부터 잘라야 하는 경우 사용하면 되겠습니다.
문법
--// 문법
LEFT(대상문자열, 자를문자수)
--> 대상문자열에서 첫글자부터 자를문자수만큼 잘라 출력합니다.
예시
--// 예제
SELECT LEFT('TARGET_STRING', 5)
--> 결과: TARGE
RIGHT
문자열의 오른쪽부터 ~번째 글자까지 잘라주는 내장 함수입니다.
마지막 글자부터 잘라야 하는 경우 사용하면 되겠습니다.
문법
--// 문법
RIGHT(대상문자열, 자를문자수)
--> 대상문자열에서 제일마지막글자부터 자를문자수 만큼 잘라 출력합니다.
예시
--// 예제
SELECT RIGHT('TARGET_STRING', 4)
--> 결과: RING
특정 구분자 기준 문자열 자르기
상당히 많이 쓰이는 내용인 특정구분자 기분 문자열 자르는 방법을 안내해 드리겠습니다.
문자열 내 특정 문자를 기준으로 앞, 뒤 잘라 출력하는 방법입니다.
Email주소에 들어가는 '@' 문자를 기준으로 Email 주소, Domain으로 나눌 수 있습니다.
SELECT SUBSTRING(E_MAIL, 1, CHARINDEX('@', E_MAIL) - 1) AS EMAIL_ADDRESS
, SUBSTRING(E_MAIL, CHARINDEX('@', E_MAIL) + 1, LEN(E_MAIL)) AS EMAIL_DOMAIN
FROM T_EMAIL
SELECT LEFT(E_MAIL, CHARINDEX('@', E_MAIL) - 1) AS EMAIL_ADDRESS
, RIGHT(E_MAIL, CHARINDEX('@', E_MAIL) + 1) AS EMAIL_DOMAIN
FROM T_EMAIL
💡CHARINDEX(찾을 문자, 문자열) --// 문자열에서 찾을 문자의 위치를 리턴합니다.