상세 컨텐츠

본문 제목

[mssql] LEFT, SUBSTRING, RIGHT로 문자열 자르기 예제

SQL

by 자기 2022. 1. 28. 21:36

본문

728x90

안녕하세요!

mssql에서 문자열을 자르는 간단한 방법을 예제와 함께 알아보겠습니다.

대표적인 함수로 left, substring, right 가 있습니다.

 

 

LEFT

LEFT는 말 그대로 왼쪽 string을 가져오는 기능을 합니다.

특정 문자열에서 왼쪽부터 가져올 길이만큼의 string을 가져올 때 사용합니다.

아래 예제를 보겠습니다.

-- LEFT(문자열, 길이)
-- 예제1(영문 문자열)
select LEFT('asdfghjk',3) as str1
-- 예제2(한글 문자열)
select LEFT('동해물과 백두산이',6) as str2

결과

첫번째 left 예제는 문자열이 영문인 경우이고

두번째 left 예제는 문자열이 한글인 경우입니다.

첫번째 영문문자열 'asdfghjk'에서 왼쪽 3개만 잘랐으므로 'asd'가 결과로 나옵니다.

두번째 한글문자열 '동해물과 백두산이' 에서는 왼쪽 6글자만 자르므로 '동해물과 백' 이 결과로 출력됩니다.

한글 자르기 결과에서 알 수 있듯이 공백도 하나열 문자로 인식한다는 점 참고해 주세요.

 

 

 

 

RIGHT

RIGHT는 말 그대로 오른쪽 string을 가져오는 기능을 합니다.

특정 문자열에서 오른쪽부터 가져올 길이만큼의 string을 가져올 때 사용합니다.

아래 예제를 보겠습니다.

-- RIGHT(문자열, 길이)
-- 예제1(영문 문자열)
select RIGHT('asdfghjk',3) as str1
-- 예제2(한글 문자열)
select RIGHT('동해물과 백두산이',6) as str2

결과

첫번째 right 예제는 문자열이 영문인 경우이고

두번째 right 예제는 문자열이 한글인 경우입니다.

첫번째 영문문자열 'asdfghjk'에서 오른쪽 3개만 잘랐으므로 'hjk'가 결과로 나옵니다.

두번째 한글문자열 '동해물과 백두산이' 에서는 오른쪽 6글자만 자르므로 '과 백두산이' 가 결과로 출력됩니다.

 

 

 

SUBSTRING

SUBSTRING은 문자열의 특정 위치에서 특정 갯수만큼의 string을 가져오는 기능을 합니다.

아래 예제를 보겠습니다.

-- SUBSTRING(문자열, 시작할 위치, 길이)
-- 예제
SELECT SUBSTRING('asdfghjkl', 3, 3)  AS str1

결과

문자열 'asdfghjk'에서 3번째 문자열부터 3개만 잘랐으므로 'dfg'가 결과로 나옵니다.

그런데 만약 문자열 길이 보다 큰 길이를 지정한다면 어떻게 될까요?

-- SUBSTRING(문자열, 시작할 위치, 길이)
-- 예제
SELECT SUBSTRING('asdfghjkl', 3, 100)  AS str1

결과

위와 같이 에러 없이 출력되는 것을 확인할 수 있습니다.

그러면 문자열길이보다 큰 시작 위치에서 자르려 한다면 어떻게 될까요?

-- SUBSTRING(문자열, 시작할 위치, 길이)
-- 예제
SELECT SUBSTRING('asdfghjkl', 100, 1)  AS str1

결과

역시 위와 같이 에러 없이 출력되는 것을 확인할 수 있습니다.

2022년 설날 연휴의 시작입니다.

긴 연휴 즐겁게 보내시기 바랍니다~!

감사합니다!

728x90

관련글 더보기

댓글 영역