반응형
-- =============================================
-- Author: marsland@hanmail.net
-- Create date: 2011-11-11
-- Description: 문자열 나누기
-- =============================================
ALTER FUNCTION [dbo].[fn_Split]
(
@pSource VARCHAR(MAX),
@pSeparator VARCHAR(1)
)
RETURNS @TAB_RETURN TABLE
(
ItemIndex INT,
ItemValue VARCHAR(1000)
)
AS
BEGIN
DECLARE @buffer VARCHAR(MAX);
DECLARE @item VARCHAR(MAX);
DECLARE @tmp INT;
DECLARE @index INT;
SET @index = 1;
WHILE LEN(@pSource) > 0
BEGIN
SET @tmp = CHARINDEX(@pSeparator, @pSource);
IF @tmp > 0
BEGIN
SET @item = SUBSTRING(@pSource, 1, @tmp - 1);
SET @pSource = RIGHT(@pSource, LEN(@pSource) - @tmp);
INSERT INTO @TAB_RETURN VALUES(@index, @item);
SET @index = @index + 1;
END ELSE
BEGIN
INSERT INTO @TAB_RETURN VALUES(@index, @pSource);
BREAK;
END;
END;
RETURN
END
반응형
'DB > MS-SQL' 카테고리의 다른 글
| [MS-SQL] 대소문자 구분하기 (0) | 2012.09.05 |
|---|---|
| [MS-SQL] 문자열에서 숫자만 뽑기 스칼라 함수 (0) | 2012.03.09 |
| [MS-SQL] 문자열에서 숫자만 리턴하는 함수 (0) | 2011.11.11 |
| MS-SQL 자동증가값(Identity) 초기화 (0) | 2011.07.12 |
| Auto Commit 옵션 해제하기 (0) | 2011.05.12 |