여행을 개발하다

[MS-SQL] string_split 함수, 활용 예제 본문

데이터베이스/MSSQL

[MS-SQL] string_split 함수, 활용 예제

yhtragramming 2021. 2. 25. 16:17

MS-SQL의 string_split 함수에 대해 포스팅하고자 한다.

 

 

1. string_split 함수란?

- 문자열을 지정된 구분자 기준으로 나누어 다수의 record로 표시해 준다(MS-SQL 내장함수).

- C나 JAVA에서의 'split' 함수와 동일한 기능을 한다.

- 반환하는 단일 column 명은 'value'이다.

 

 

2. 사용법

- 인수는 구분하려는 ① 문자열과  구분자(seperator)이다.

예를 들어, 쉼표(,)로 연결되어 있는 '미국,영국,호주,캐나다,이탈리아,한국,중국,일본'이라는 문자열을 다수의 열로 나누어 리턴 받고자 한다면 다음과 같이 함수를 사용하면 된다 (MS-SQL에서 한글이 깨지는 현상을 방지하기 위하여 '' 대신 N''을 사용하였다).

SELECT value 
  FROM string_split(N'미국,영국,호주,캐나다,이탈리아,한국,중국,일본', ',')

어차피 컬럼은 value 하나밖에 없으므로, 다음과 같이 SQL을 날려도 된다.

SELECT * 
   FROM string_split(N'미국,영국,호주,캐나다,이탈리아,한국,중국,일본', ',')

 

WHERE 절을 사용하여, 조건에 맞는 record만 필터 할 수도 있다(예제 : 길이가 2 이하인 것만 SELECT)

SELECT * 
  FROM string_split(N'미국,영국,호주,캐나다,이탈리아,한국,중국,일본', ',') 
  WHERE LEN(value) <= 2

 

 

지금까지 MS-SQL의 string_split 함수에 대해 알아보았다.

 

감사합니다.

Comments