티스토리 뷰

프로그래밍/MS-SQL

SQL Split 스칼라 함수

올앤올 2011. 7. 11. 16:26

create function dbo.fn_GetSplitValue
(
 @Param varchar(max) -- 대상 문자열­
 , @Div varchar(1) -- 구분자
 , @ArrayIndex int -- 위치 
)
returns varchar(max)
as

begin

    declare @Index int
    declare
 @Pos int
    declare 
@Order int
    declare 
@Output varchar(max)

    set @Index = 1
    set @Pos = 1
    set @Order = 1

    while @Order < @ArrayIndex+1 AND @Pos > 0
    begin
        set @Pos = charindex(@Div, @Param, @Index)

        if @Pos = 0 or @Order = @ArrayIndex+1
        begin
            set @Output = right(@Param, len(@Param) - @Index + 1)
        end
        else
        begin
            set 
@Output = substring(@Param, @Index, @Pos - @Index)
        end

       set @Index = @Pos + 1
       set @Order = @Order + 1  
    end

return @Output
end

 

 

-- 쿼리 사용하기

select fn_GetSplitValue('1/2/3/4/5', '/', 2)

 

«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
최근에 올라온 글
Total
Today
Yesterday