> 데이터 베이스 > MySQL 튜토리얼 > Sql Server 2005自定义Split函数

Sql Server 2005自定义Split函数

WBOY
풀어 주다: 2016-06-07 16:17:48
원래의
1493명이 탐색했습니다.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿