상세 컨텐츠

본문 제목

SP 에서 특정문자열을 기준으로 데이타를 테이블로 반환한다.

DataBase/SQL Server

by 탑~! 2010. 12. 2. 17:58

본문

CREATE FUNCTION [dbo].[F_SB_Split]
(
    @StrValue VARCHAR(1000), -- 대상 문자열
    @SplitChar CHAR(1)   -- 구분자
)
RETURNS @SPLIT_TEMP TABLE  ( RtnValue VARCHAR(50) )
AS
BEGIN  
    DECLARE @sPos INT, @nPos INT
    DECLARE @TmpVar VARCHAR(1000) -- 분리된 문자열 임시 저장변수
 
    SET @sPos = 1 -- 구분문자 검색을 시작할 위치
    SET @nPos = 1 -- 구분문자 위치

    WHILE (@nPos > 0)
    BEGIN
        SET @nPos = CHARINDEX(@SplitChar, @StrValue, @sPos )

        IF @nPos = 0
            SET @TmpVar = RIGHT(@StrValue, LEN(@StrValue)-@sPos+1 )
        ELSE
            SET @TmpVar = SUBSTRING(@StrValue, @sPos, @nPos-@sPos)

        IF LEN(@TmpVar)>0
            INSERT INTO @SPLIT_TEMP VALUES( @TmpVar )

        SET @sPos = @nPos + 1
    END
 
 RETURN
END

'DataBase > SQL Server' 카테고리의 다른 글

TRY ~ CATCH  (0) 2011.05.26
SQL-Server sp 에서 xml 처리  (0) 2011.03.24
SQLServer : Convert/Cast 의 새로운 발견  (0) 2010.11.26
SQL Server 2008 T-SQL  (0) 2010.11.18
3자리 마다 콤마(,) 찍기  (0) 2010.10.22

관련글 더보기