/* 切割字符串并根据元素索引值获取元素 例如:a,b,c , 2 返回b 不存在返回空 验证如下:if ISNULL(@element,‘‘)=‘‘ print(‘不存在‘) */ ALTER FUNCTION [dbo].[GetElementByIndex] ( @text varchar(5000), --14123|10|商品名称| @split_str varchar(100), --| @index int -- 2 ) RETURNS varchar(1000) AS BEGIN set @text=@text+@split_str declare @i int=0 --元素位置 declare @element varchar(1000)--记录元素的值 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
时间: 2024-10-04 22:00:45