320x100
1. CHARINDEX() 함수와 SUBSTRING함수를 이용한 분리 (2016버전 이전)
DECLARE @data VARCHAR(MAX) DECLARE @separator CHAR SET @data = 'a,bb,ccc,dddd,eeeee,ffffff,ggggggg,hhhhhhhh,iiiiiiiii'; SET @separator = ',' DECLARE @substring VARCHAR(MAX) DECLARE @dividepos INT SET @dividepos = CHARINDEX(@separator, @data) WHILE @dividepos <> 0 OR LEN(@data) > 0 BEGIN SET @dividepos = CHARINDEX(@separator, @data) IF @dividepos = 0 BEGIN SET @substring = @data SET @data = '' END ELSE BEGIN SELECT @substring = SUBSTRING(@data, 1, @dividepos - 1) SET @data = SUBSTRING(@data, @dividepos + 1, LEN(@data)) END SELECT @substring END |
2. STRING_SLIPT() 함수를 이용한 분리 (2016버전 이후)
https://docs.microsoft.com/ko-kr/sql/t-sql/functions/string-split-transact-sql?view=sql-server-ver15
STRING_SPLIT(Transact-SQL) - SQL Server
STRING_SPLIT 함수의 Transact-SQL 참조입니다. 이 테이블 반환 함수는 문자 구분 기호를 기준으로 문자열을 부분 문자열로 분할합니다.
docs.microsoft.com
DECLARE @data VARCHAR(MAX) DECLARE @separator CHAR SET @data = 'a,bb,ccc,dddd,eeeee,ffffff,ggggggg,hhhhhhhh,iiiiiiiii'; SET @separator = ',' SELECT * FROM STRING_SPLIT(@data, @separator) |
320x100
'DB > MSSQL' 카테고리의 다른 글
[MSSQL] 호환성 수준 (0) | 2021.06.17 |
---|---|
[MSSQL] 이중화 방식 (0) | 2021.06.15 |
[MSSQL] JSON 파싱하기 (0) | 2021.06.11 |
[MSSQL] OPENQUERY 작성중 (0) | 2021.06.09 |
[MSSQL] REST API 호출하기 (0) | 2021.06.09 |