/*cut the string and get the element based on the index value of the element for example: A,b,c, 2 returns B does not exist return null validation is as follows: If ISNULL (@element, ') = ' print (' not present ')*/ALTER FUNCTION [dbo].[Getelementbyindex]( @text varchar( the),--14123|10| Product Name | @split_str varchar( -),--| @index int --2)RETURNS varchar( +) asBEGIN Set @text=@text+@split_str Declare @i int=0 --element Position Declare @element varchar( +)--record the value of an element Declare @s_index int=1 Declare @e_index int=0 Set @e_index=CHARINDEX(@split_str,@text) while @e_index>0 begin Set @element=SUBSTRING(@text,@s_index,@e_index-@s_index) Set @i=@i+1 if @i=@index return @element Set @text=SUBSTRING(@text,@e_index+LEN(@split_str),Len(@text)-@e_index) Set @e_index=CHARINDEX(@split_str,@text) End return "'END
View Code
Scalar-valued functions