定义自定义表值函数(split),用于分隔字符串

SELECT * FROM dbo.split('581::579::519::279::406::361::560',':') where a <> ''
 
 
create Function [dbo].[Split](@Sql varchar(8000),@Splits varchar(10))  
returns @temp Table (a varchar(100))  
As  
Begin  
Declare @i Int  
Set @Sql = RTrim(LTrim(@Sql))  
Set @i = CharIndex(@Splits,@Sql)  
	While @i >= 1  
		Begin  
			Insert @temp Values(Left(@Sql,@i-1))  
			Set @Sql = SubString(@Sql,@i+1,Len(@Sql)-@i)  
			Set @i = CharIndex(@Splits,@Sql)  
		End 
	If @Sql <> ''  
		Insert @temp Values (@Sql)  
		Return  
End 

猜你喜欢

转载自blog.csdn.net/zhou279818998/article/details/78599161