반응형

/*******************************************************************************************************************
-- Title : [SQL2014] CLR 함수로 작성된 SPLIT 함수
-- Key word : clr dll delimiter 멀티값 싱글값 split 함수 spliiter 
*******************************************************************************************************************/

■ dbo.fn_CLR_splitter DLL 함수 

    ㅁ 구분자로 묶인 문자열을 빠르게 분리하기 위해 CLR 함수를 만들어 사용함

    ㅁ 함수 매개변수 정의

        - @data        : 분리할 문자열 데이터
        - @delimiter   : 분리 구분자
        - @allow_null  : NULL 허용 여부(허용:1)
        - @is_distinct : 중복제거 여부(허용:1)

 

    ㅁ 기본 사용
        select * from CLRdb.dbo.fn_CLR_splitter('1,2,3,4', ',', 0, 0)

    

        -- NULL 허용 여부
        select * from CLRdb.dbo.fn_CLR_splitter('1,2,,3,,4', ',', 0, 0)
        select * from CLRdb.dbo.fn_CLR_splitter('1,2,,3,,4', ',', 1, 0)

 

        -- 중복 제거 여부
        select * from CLRdb.dbo.fn_CLR_splitter('1,2,,,3,3,3,,4', ',', 0, 0)
        select * from CLRdb.dbo.fn_CLR_splitter('1,2,,,3,3,3,,4', ',', 0, 1)

  

        -- NULL허용 및 중복제거 여부
        select '기본(빈값제거, 중복허용)' "기능", * from CLRdb.dbo.fn_CLR_splitter('1,2,,,3,3,3,,4', ',', 0, 0);
        select '기본(빈값허용, 중복허용)' "기능", * from CLRdb.dbo.fn_CLR_splitter('1,2,,,3,3,3,,4', ',', 1, 0);
        select '기본(빈값제거, 중복제거)' "기능", * from CLRdb.dbo.fn_CLR_splitter('1,2,,,3,3,3,,4', ',', 0, 1);
        select '기본(빈값허용, 중복제거)' "기능", * from CLRdb.dbo.fn_CLR_splitter('1,2,,,3,3,3,,4', ',', 1, 1);

        

 

 

반응형

+ Recent posts