본문 바로가기
vita_Programing

MSSQL 문자열 자르기 함수 LEFT RIGHT SUBSTRING

by lemonvita 2024. 5. 30.
728x90
반응형

 

 

 

MSSQL 문자열 자르기 함수 LEFT RIGHT SUBSTRING

 

 

728x90

MSSQL 문자열 자르기 함수 LEFT RIGHT SUBSTRING
MSSQL 문자열 자르기 함수 LEFT RIGHT SUBSTRING

 

SQL Server에서 문자열을 다루는 작업은 데이터 처리와 분석에서 자주 사용하게 됩니다. 특히, 문자열을 자르는 함수는 데이터베이스 관리 및 보고서 작성 시 더 자주 사용하게 되는 것 같습니다. 이번 글에서는 MSSQL에서 자주 사용하는 문자열 자르기 함수인 LEFT, RIGHT, SUBSTRING에 대해 자세히 알아보고, 각 함수의 사용법을 예제와 함께 정리해 보겠습니다.

 

 

LEFT 함수

LEFT 함수는 문자열의 왼쪽부터 지정한 길이만큼의 문자를 반환합니다. 이 함수는 주로 문자열의 앞부분을 추출할 때 사용됩니다.

 

사용형식

LEFT ( string_expression , integer_expression )
  • string_expression: 추출하고자 하는 문자열.
  • integer_expression: 반환할 문자의 수를 지정하는 정수.

 

사용예제 1

DECLARE @string NVARCHAR(100) = '안녕하세요. 반갑습니다!'
SELECT LEFT(@string, 5) AS MyString;

 

위 예제를 실행하면 문자열 '안녕하세요. 반갑습니다!"에서 왼쪽부터 5개의 문자를 추출하여 '안녕하세요'를 반환합니다.

 

실행결과

MSSQL 문자열 자르기 함수 LEFT RIGHT SUBSTRING

 

 

사용예제 2

DECLARE @string NVARCHAR(100) = '안녕하세요abcd. 반갑습니다!'
SELECT LEFT(@string, 6) AS MyString;

 

위 예제는 앞선 예제 1과는 다르게 문자열에 영문 알파벳이 포함되어 있는 경우입니다. 위의 예제에서 앞쪽 문자 지정을 7로 하면 어떻게 될까요?

 

실행결과

MSSQL 문자열 자르기 함수 LEFT RIGHT SUBSTRING

한글 1글자와 영문 1글자가 같은 기준으로 취급된다는 것을 알 수 있습니다.

 

 

 

RIGHT 함수

RIGHT 함수는 함수명에서 알 수 있듯이 문자열의 오른쪽부터 지정한 길이만큼의 문자를 반환합니다. 이 함수는 주로 문자열의 뒷부분을 가져올 때 사용됩니다. LEFT 함수와 반대로 동작한다고 이해하시면 됩니다.

 

사용형식

RIGHT ( string_expression , integer_expression )

 

  • string_expression: 추출하고자 하는 문자열.
  • integer_expression: 반환할 문자의 수를 지정하는 정수.

 

사용예제 

DECLARE @string NVARCHAR(100) = '안녕하세요. 반갑습니다!'
SELECT RIGHT(@string, 5) AS MyString;

 

위 예제를 실행하면 문자열 '안녕하세요. 반갑습니다!" 에서 오른쪽부터 5개의 문자를 추출하여 '갑습니다!'를 반환합니다.

 

 

실행결과

MSSQL 문자열 자르기 함수 LEFT RIGHT SUBSTRING

 

가장 오른쪽에 있는 특수기호인 느낌표(!)도 한 글자로 취급되어진다는 것을 알 수 있습니다.

 

 

 

 

SUBSTRING 함수

SUBSTRING 함수는 문자열의 일부분을 추출할 때 사용합니다. 시작 위치와 길이를 지정하여 문자열의 특정 부분을 추출할 수 있습니다.

 

사용형식

SUBSTRING ( string_expression , start , length )

 

 

  • string_expression: 추출하고자 하는 문자열.
  • start: 추출을 시작할 위치. (1부터 시작)
  • length: 반환할 문자의 수를 지정하는 정수.

 

사용예제 

DECLARE @string NVARCHAR(100) = '안녕하세요. 반갑습니다!'
SELECT SUBSTRING(@string, 8, 3) AS MyString;

 

위 예제에서는 문자열 '안녕하세요. 반갑습니다!'에서 8번째 문자부터 시작하여 3개의 문자를 추출하여 '반갑습'을 반환합니다.

 

실행결과

MSSQL 문자열 자르기 함수 LEFT RIGHT SUBSTRING

 

 

 

 

 

다양한 활용 예제

앞에서 설명한 세게의 문자열 함수들을 이용하여 좀 더 복잡한 실전 예제를 알아보겠습니다.

 

이메일 주소에서 도메인 추출하기

DECLARE @email NVARCHAR(100) = 'myid@yourdomain.com'
SELECT SUBSTRING(@email, CHARINDEX('@', @email) + 1, LEN(@email) - CHARINDEX('@', @email)) AS Domain;

 

위 예제에서는 이메일 주소 'myid@yourdomain.com'에서 '@' 기호 다음에 있는 문자열을 추출하여 'example.com'을 반환합니다.

 

MSSQL 문자열 자르기 함수 LEFT RIGHT SUBSTRING

 

 

 

파일 경로에서 파일명 추출하기

DECLARE @filepath NVARCHAR(100) = 'C:\Users\Public\Documents\MyReport.docx'
SELECT RIGHT(@filepath, CHARINDEX('\', REVERSE(@filepath)) - 1) AS FileName;

 

위 예제에서는 파일 경로 'C:\Users\Public\Documents\MyReport.docx'에서 파일명만 추출하여 'Report.docx'를 반환합니다.

MSSQL 문자열 자르기 함수 LEFT RIGHT SUBSTRING

 

 

특정 형식의 문자열을 변환하기

DECLARE @date NVARCHAR(10) = '2024-05-28'
SELECT LEFT(@date, 4) + '년 ' + SUBSTRING(@date, 6, 2) + '월 ' + RIGHT(@date, 2) + '일' AS KoreanDate;

 

문자열의 특정 형식을 변환하는 예제도 살펴보겠습니다. 예를 들어, 날짜 형식의 문자열을 변환하는 경우가 되겠습니다.

위 예제에서는 '2024-05-28' 형식의 날짜 문자열을 '2024년 05월 28일' 형식으로 변환해 줍니다.

 

MSSQL 문자열 자르기 함수 LEFT RIGHT SUBSTRING

 

 

 

마치며

MSSQL의 문자열 자르기 함수인 LEFT, RIGHT, SUBSTRING 함수는 데이터베이스에서 문자열을 처리 및 가공할 때 아주 자주 사용됩니다. 이 함수들을 잘 활용하면 다양한 문자열 조작 작업을 손쉽게 수행할 수 있습니다. 각 함수의 사용법과 다양한 예제를 통해 실무에서 어떻게 적용할 수 있는지 충분히 이해되셨는지 모르겠습니다. 도움이 되셨길 바랍니다.

728x90
반응형