반응형
CREATE FUNCTION UF_TEXT_SPLIT
(
@TEXT NVARCHAR(4000)
,@DELIMETER CHAR(1)
)
RETURNS @STRINGS TABLE
(
POSITION INT IDENTITY(1,1) PRIMARY KEY,
VALUE NVARCHAR(MAX)
)
AS
BEGIN
DECLARE @INDEX INT
SET @INDEX = -1
WHILE(LEN(@TEXT)>0)
BEGIN
SET @INDEX = CHARINDEX(@DELIMETER, @TEXT)
IF (@INEX = 0) AND (LEN(@TEXT) > 0 )
BEGIN
INSERT INTO @STRINGS VALUES (@TEXT)
BREAK
END
IF (@INDEX >1)
BEGIN
INSERT INTO @STRINGS VALUES (LEFT(@TEXT, @INDEX -1))
SET @TEXT = RIGHT(@TEXT, (LEN(@TEXT) - @INDEX))
END
ELSE
SET @TEXT = RIGHT(@TEXT, (LEN(@TEXT) - @INDEX))
END
RETURN
END
사용예시
'일일일,이이이,삼삼삼,사사사' 인 STRING 이있다면
UF_TEXT_SPLIT '일일일,이이이,삼삼삼,사사사', ','
실행시키면
일일일
이이이
삼삼삼
사사사
테이블로 변환됨
반응형
'IT > DB' 카테고리의 다른 글
[MSSQL] 현재 날짜, 시스템 시간 출력 (0) | 2022.04.01 |
---|---|
[MSSQL] WITH NOLOCK 이란? (0) | 2022.03.29 |
[MSSQL] 여러행을 콤마를 포함한 한줄로 변환 (0) | 2022.03.28 |
[MSSQL] 변수 LIKE절 활용 프로시져 (0) | 2022.03.22 |
[MSSQL] select된 값으로 update하기 (0) | 2022.03.15 |