안녕하세요!
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년 설날 연휴의 시작입니다.
긴 연휴 즐겁게 보내시기 바랍니다~!
감사합니다!
[mssql] SQL Server 버전별 비교 (0) | 2022.03.09 |
---|---|
[자바스크립트] try catch 로 예외처리 하기 (0) | 2022.01.29 |
[mssql] 문자열을 치환하기 - replace, stuff 예제 (0) | 2022.01.27 |
[mssql] where절에서 LIKE문 활용하기 예제 (0) | 2022.01.26 |
[mssql] 숫자 데이터의 절대값 구하기 - ABS (0) | 2022.01.18 |
댓글 영역