程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> Sql Server 2005自定義Split函數

Sql Server 2005自定義Split函數

編輯:關於SqlServer

     要求取得字符串aa,dd,cc,rr,fff中某個位置的字符串,如果在C#或Java很容易通過Split來實現,但是在Sql Server中就沒有直接提供Split這個函數。

    當然,此類問題總是可以解決的。

    ALTER function [dbo].[core_split]
    (
    @str varchar(100),
    @split char(1),
    @index int
    )

    returns varchar(10) as
    begin

    declare @count int
    declare @s varchar(10)

    set @count = 0;
    set @s = ''
    while(charindex(@split,@str)<>0)
    begin
    if @count = @index begin
    set @s = substring(@str,1,charindex(@split,@str)-1)
    break
    end
    set @str = stuff(@str,1,charindex(@split,@str),'')
    set @count = @count + 1
    end
    if charindex(@split,@str)=0 begin
    set @s = @str
    end
    return @s
    end

    例如select dbo.core_split('aa,ss,ee,rr,da,tt',',',1)就可獲得ss

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved