[SQL] Sql Server按指定符号对字符串进行分割,返回分割后的第N个元素 →→→→→进入此内容的聊天室

来自 , 2019-05-12, 写在 SQL, 查看 108 次.
URL http://www.code666.cn/view/f0d70533
  1.  
  2. CREATE FUNCTION Get_StrArrayStrOfIndex
  3. (
  4. @str VARCHAR(1024), --要分割的字符串
  5. @split VARCHAR(10), --分隔符号
  6. @INDEX INT --取第几个元素
  7. )
  8. RETURNS VARCHAR(1024)
  9. AS
  10. BEGIN
  11. DECLARE @location INT
  12. DECLARE @START INT
  13. DECLARE @NEXT INT
  14. DECLARE @seed INT
  15.  
  16. SET @str=ltrim(rtrim(@str))
  17. SET @START=1
  18. SET @NEXT=1
  19. SET @seed=len(@split)
  20.  
  21. SET @location=charindex(@split,@str)
  22. while @location<>0 AND @index>@NEXT
  23. BEGIN
  24.    SET @START=@location+@seed
  25.    SET @location=charindex(@split,@str,@START)
  26.    SET @NEXT=@NEXT+1
  27. END
  28. IF @location =0 SELECT @location =len(@str)+1
  29. --这儿存在两种情况:1、字符串不存在分隔符号 2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号。
  30.  
  31. RETURN SUBSTRING(@str,@START,@location-@START)
  32. END
  33.  
  34.  
  35. //SQL/7372

回复 "Sql Server按指定符号对字符串进行分割,返回分割后的第N个元素"

这儿你可以回复上面这条便签

captcha