태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
페이지를 읽고 있습니다. ( 아쿠아바다's Blog )
분류 전체보기 (769)
쉐어포인트 (24)
Exchange (12)
SQL (121)
XML (36)
WEB (294)
O / S (97)
삶의향기 (162)
기획 (19)
RSS 피드(IE 7.0부터 기본 지원됩니다. 이전 버전 사용자는 접합한 툴을 사용하세요!!)
이 함수는 문자열을 '|'와 같은 특정 구분자로 분리하여 테이블 또는 배열로 결과 값을 반환한다. 디폴트 구분자는 '파이프라인(|)'이다.

--사용 방법:
--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

좀더 흥미로운 내용이 많이 있습니다.. HOME > SQL를 확인하세요
0 Trackback, 0 Comment, :
1  ... 590 591 592 593 594 595 596 597 598  ... 769 
Statistics Graph
Total : 557,403 Today : 33