SQL Server에서 문자열 자를 때 이용할 수 있는 함수는 SUBSTRING, LEFT, RIGHT 이 세 가지 함수가 있다.
SUBSTRING
SUBSTRING함수는 데이터에서 지정한 문자열 길이만큼 추출하는 데 사용하는 함수이다.
이미 가공되어있더라도 문자열을 잘라내어야 할 일이 필요할 수도 있다. 이때 MSSQL에서 사용할 수 있는 함수는 SUBSTRING함수이며 SUBSTRING함수를 이용해서 특정 부분의 위치와 길이를 지정하여 추출할 수 있다.
SUBSTRING 쿼리
SUBSTRING('문자열' or 열 이름, 시작 위치, 길이)
SUBSTRING의 함수는 '문자열'or 열 이름 둘 중 하나만 사용한다. '시작 위치'는 추출 시작 자리 위치이고 '길이'는 원하는 추출할 자릿수이다.
SUBSTRING 쿼리 예제
SELECT 'ABCDEFGHIJKLMNOP'AS 문자열_자르기_전
,SUBSTRING('ABCDEFGHIJKLMNOP',1,4) AS 문자열_자른_후1
,SUBSTRING('ABCDEFGHIJKLMNOP',5,4) AS 문자열_자른_후2
,SUBSTRING('ABCDEFGHIJKLMNOP',9,4) AS 문자열_자른_후3
,SUBSTRING('ABCDEFGHIJKLMNOP',13,4) AS 문자열_자른_후4
위 쿼리처럼 쿼리를 넣을 수 있고 문자열 대신에 그 자리에 열 이름을 넣어서 이용할 수 있다.
위 쿼리를 실행 시 결괏값은 아래 사진처럼 나오게 된다.
RIGHT
MSSQL에서 RIGHT함수는 오른쪽 기준으로 문자열을 추출해서 남은 부분은 잘라내는 함수이다.
RIGHT 쿼리
RIGHT('문자열'or 열이름, 자를 길이)
왼쪽에서 자를 길이는 오른쪽 기준으로 해서 왼쪽으로 길이를 잘라주게 된다.
예제를 통해 이해하면 좋을거같다.
RIGHT 쿼리 예제
SELECT 'ABCDEFGHIJKLMNOP'AS 문자열_자르기_전
,RIGHT('ABCDEFGHIJKLMNOP',4) AS 문자열_자른_후1
,RIGHT('ABCDEFGHIJKLMNOP',8) AS 문자열_자른_후2
,RIGHT('ABCDEFGHIJKLMNOP',12) AS 문자열_자른_후3
,RIGHT('ABCDEFGHIJKLMNOP',16) AS 문자열_자른_후4
4개씩 증가시키면서 오른쪽 기준 4개씩 증가하는 결과 데이터가 출력된 것을 확인할 수 있으며 'ABCDEFGHIJKLMNOP'대신해서 열을 입력해도 무관하다.
LEFT
MSSQL에서 LEFT 함수는 왼쪽 기준으로 오른쪽으로 문자열을 잘라내는 함수이다.
LEFT 쿼리
LEFT('문자열'or 열이름, 길이)
LEFT함수는 RIGHT함수와 반대로 잘라낸다고 생각하면 된다.
LEFT 쿼리 예제
SELECT 'ABCDEFGHIJKLMNOP'AS 문자열_자르기_전
,LEFT('ABCDEFGHIJKLMNOP',4) AS 문자열_자른_후1
,LEFT('ABCDEFGHIJKLMNOP',8) AS 문자열_자른_후2
,LEFT('ABCDEFGHIJKLMNOP',12) AS 문자열_자른_후3
,LEFT('ABCDEFGHIJKLMNOP',16) AS 문자열_자른_후4
MSSQL LEFT함수 예제 쿼리이며 LEFT함수를 실행 시 왼쪽 기준으로 잘라낸다.
위의 LEFT함수 예제 쿼리를 실행 시 결괏값이며 왼쪽 기준으로 문자열이 잘른 후 출력된 것을 확인할 수 있다.
댓글