문자열을 테이블 또는 배열로 저장하는 SQL 스크립트 > db

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

db

문자열을 테이블 또는 배열로 저장하는 SQL 스크립트

페이지 정보

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

본문

이 함수는 문자열을 '|'와 같은 특정 구분자로 분리하여 테이블 또는 배열로 결과 값을 반환한다. 디폴트 구분자는 '파이프라인(|)'이다.

--사용 방법:
--SELECT * FROM Stores WHERE
-- StoreId IN
-- (
-- SELECT ItemValue FROM fn_SplitIn2Rows('44|23|11|4|89|21', '|')
-- )

이 SQL 스크립트 소스 코드는 다음과 같다.

CREATE FUNCTION fn_SplitIn2Rows
    (
          @PInStrSource varchar(8000) = NULL,
      @pInChrSeparator char(1) = '|'
        )
        RETURNS
                @ARRAY TABLE (ItemValue VARCHAR(1000))
AS
BEGIN
        DECLARE @CurrentStr varchar(2000)
        DECLARE @ItemStr varchar(200)
        
        SET @CurrentStr = @PInStrSource
        
        WHILE Datalength(@CurrentStr) > 0
        BEGIN
                IF CHARINDEX(@pInChrSeparator, @CurrentStr,1) > 0
                        BEGIN
                        SET @ItemStr = SUBSTRING (@CurrentStr, 1, CHARINDEX(@pInChrSeparator, @CurrentStr,1) - 1)
                    SET @CurrentStr = SUBSTRING (@CurrentStr, CHARINDEX(@pInChrSeparator, @CurrentStr,1) + 1, (Datalength(@CurrentStr) - CHARINDEX(@pInChrSeparator, @CurrentStr,1) + 1))
                                INSERT @ARRAY (ItemValue) VALUES (@ItemStr)
                        END
                 ELSE
                        BEGIN                
                                INSERT @ARRAY (ItemValue) VALUES (@CurrentStr)                  
                        BREAK;
                 END
        END
        RETURN
END


자료출처 : http://korea.internet.com/

댓글목록

등록된 댓글이 없습니다.

회원로그인

접속자집계

오늘
131
어제
225
최대
1,347
전체
154,890
Latest Crypto Fear & Greed Index

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