Split 기능을 하는 사용자 정의 함수 > db

본문 바로가기
사이트 내 전체검색

db

Split 기능을 하는 사용자 정의 함수

페이지 정보

작성자 서방님 댓글 0건 조회 164회 작성일 06-09-13 11:26

본문

/*
 *  해당 문자열을 해당 구분문자로 분리하여 테이블형식으로 반환한다.
 *  2005년 12월 14일 - 이세영 -
 */

CREATE FUNCTION FN_SPLIT
(
    @StrValue VARCHAR(1000),   -- 분리할 문자열
    @SplitChar VARCHAR(1)         -- 구분할 문자
)
RETURNS @SPLIT_TEMP TABLE  ( VALUE VARCHAR(50) )
AS
BEGIN  
 
    DECLARE @oPos INT, @nPos INT
    DECLARE @TmpVar VARCHAR(1000) -- 분리된 문자열 임시 저장변수

    SET @oPos = 1 -- 구분문자 검색을 시작할 위치
    SET @nPos = 1 -- 구분문자 위치

    WHILE (@nPos > 0)
    BEGIN

        SET @nPos = CHARINDEX(@SplitChar, @StrValue, @oPos ) 

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

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

        SET @oPos = @nPos +1 
    END 

   RETURN
END

[사용방법]

SELECT * FROM FN_SPLIT('빨강|노랑|파랑|빨강|노랑|','|')
SELECT * FROM FN_SPLIT('A,B,C,D,A',',')

댓글목록

등록된 댓글이 없습니다.

Total 464건 29 페이지
게시물 검색

회원로그인

접속자집계

오늘
31
어제
302
최대
1,347
전체
155,092
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.