MSSQL - STRING_SPLIT(지정한 기호에 따라 글자 분할하기)

반응형

 

STRING_SPLIT

  • 지정된 구분 기호 문자에 따라 문자열을 부분 문자열의 행으로 분할하는 테이블 반환 함수
  • 테이블 반환 함수이기 때문에 쿼리 작성시 테이블 호출 구문의 양식을 따라야함
    • select * from ~

구문

STRING_SPLIT(string, separator)
  • string : 모든 문자 형식, 구분 지을 기존의 문자열
  • separator : 구분을 할 기호, 해당 기호를 기준으로 문자열을 나눔

반환 형식

  • 구분 지은 부분 문자열의 열 테이블을 반환
  • 열의 이름은 'value'로 반환
  • 입력 인수가 nvarchar 또는 nchar 일 경우, nvarchar 타입 반환
    • 그렇지 않을 경우 varchar 반환
  • 반환 형식의 길이는 입력 인수의 길이와 동일

사용 예시

  • '/' 기호를 기준으로 문자열 나누기
  • select from 사이에 '*' 혹은 'value'를 넣어주어야 함
    • 테이블 반환 함수이기 때문
declare @test nvarchar(15)
set @test = 'apple/cherry'
select * from string_split(@test, '/')
-- = SELECT value FROM string_split(@test, '/')

 

  • 혹은 변수 없이 바로 문자열 입력
SELECT value FROM STRING_SPLIT('apple,cherry', ',')

 

  • 쿼리 실행 결과


참고

반응형