SQL Server 2016 부터 STRING_SPLIT() 함수가 추가되어 컬럼 문자열의 구분자를 행으로 분리 할 수 있다. 이전 버전까지 사용자 함수를 만들어서 사용했지는 STRING_SPLIT() 함수를 사용하면 쉽게 해결 된다.
STRING_SPLIT( "문자열", "구분자" ) |
함수 사용법
SELECT empno
, ename
, skills
, value
FROM emp
CROSS APPLY STRING_SPLIT(skills, ',')
조회된 skills 컬럼의 쉼표(',') 구분자를 잘라서 해당 개수만큼 행으로 변환한다.
결과 컬럼은 value로 생성된다.
SELECT *
FROM STRING_SPLIT('Java,Python,C++,C#', ',')
FROM절에서 해당 함수를 사용할 수 있다.
SELECT *
FROM STRING_SPLIT('Java Python C++ C#', ' ')
공백 문자를 구분자로 분리하는 예제이다.
쉼표(',') 외에도 다른 특수문자로 분리가 가능하다.
사용 예제