SELECT arr_split('블로그|MSSQL|WEB', '|', 1)
결과값 : '블로그'
CREATE FUNCTION arr_split(
@sText VARCHAR(500), -- 대상 문자열
@str CHAR(1) = '|', -- 구분기호(Default '|')
@idx INT -- 배열 인덱스
)
RETURNS VARCHAR(20)
AS
BEGIN
DECLARE @word CHAR(20), -- 반환할 문자
@sTextData VARCHAR(600),
@num SMALLINT;
SET @num = 1;
SET @str = LTRIM(RTRIM(@str));
SET @sTextData = LTRIM(RTRIM(@sText)) + @str;
WHILE @idx >= @num
BEGIN
결과값 : '블로그'
CREATE FUNCTION arr_split(
@sText VARCHAR(500), -- 대상 문자열
@str CHAR(1) = '|', -- 구분기호(Default '|')
@idx INT -- 배열 인덱스
)
RETURNS VARCHAR(20)
AS
BEGIN
DECLARE @word CHAR(20), -- 반환할 문자
@sTextData VARCHAR(600),
@num SMALLINT;
SET @num = 1;
SET @str = LTRIM(RTRIM(@str));
SET @sTextData = LTRIM(RTRIM(@sText)) + @str;
WHILE @idx >= @num
BEGIN
IF CHARINDEX(@str, @sTextData) > 0
BEGIN
-- 문자열의 인덱스 위치의 요소를 반환
SET @word = SUBSTRING(@sTextData, 1, CHARINDEX(@str, @sTextData) - 1);
SET @word = LTRIM(RTRIM(@word));
-- 반환된 문자는 버린후 좌우공백 제거
SET @sTextData = LTRIM(RTRIM(RIGHT(@sTextData, LEN(@sTextData) - (LEN(@word) + 1))))
END ELSE BEGIN
SET @word = NULL;
END
SET @num = @num + 1
END
RETURN(@word);
END
BEGIN
-- 문자열의 인덱스 위치의 요소를 반환
SET @word = SUBSTRING(@sTextData, 1, CHARINDEX(@str, @sTextData) - 1);
SET @word = LTRIM(RTRIM(@word));
-- 반환된 문자는 버린후 좌우공백 제거
SET @sTextData = LTRIM(RTRIM(RIGHT(@sTextData, LEN(@sTextData) - (LEN(@word) + 1))))
END ELSE BEGIN
SET @word = NULL;
END
SET @num = @num + 1
END
RETURN(@word);
END