Heim > Datenbank > MySQL-Tutorial > Sql Server 2005自定义Split函数

Sql Server 2005自定义Split函数

WBOY
Freigeben: 2016-06-07 16:17:48
Original
1491 Leute haben es durchsucht

要求取得字符串aa,dd,cc,rr,fff中某个位置的字符串,如果在C#或Java很容易通过Split来实现,但是在Sql Server中就没有直接提供Split这个函数。 当然,此类问题总是可以解决的。 ALTER function [dbo].[core_split] ( @str varchar(100), @split char(1), @in

 要求取得字符串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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage