移动端网站建站视频教程,比较好的wordpress插件,做服装团购网站,建设网站属于什么费用T-SQL对字符串的处理能力比较弱#xff0c;比如我要循环遍历象1,2,3,4,5这样的字符串#xff0c;如果用数组的话#xff0c;遍历很简单#xff0c;但是T-SQL不支持数组#xff0c;所以处理下来比较麻烦。下边的函数#xff0c;实现了象数组一样去处理字符串。 一、按指定… T-SQL对字符串的处理能力比较弱比如我要循环遍历象1,2,3,4,5这样的字符串如果用数组的话遍历很简单但是T-SQL不支持数组所以处理下来比较麻烦。下边的函数实现了象数组一样去处理字符串。 一、按指定符号分割字符串返回分割后的元素个数方法很简单就是看字符串中存在多少个分隔符号然后再加一就是要求的结果。 CREATE function Get_StrArrayLength ( str varchar(1024), --要分割的字符串 split varchar(10) --分隔符号 ) returns int as begin declare location int declare start int declare length int set strltrim(rtrim(str)) set locationcharindex(split,str) set length1 while location0 begin set startlocation1 set locationcharindex(split,str,start) set lengthlength1 end return length end 调用示例select dbo.Get_StrArrayLength(78,1,2,3,,) 返回值4 二、按指定符号分割字符串返回分割后指定索引的第几个元素象数组一样方便 CREATE function Get_StrArrayStrOfIndex ( str varchar(1024), --要分割的字符串 split varchar(10), --分隔符号 index int --取第几个元素 ) returns varchar(1024) as begin declare location int declare start int declare next int declare seed int set strltrim(rtrim(str)) set start1 set next1 set seedlen(split) set locationcharindex(split,str) while location0 and indexnext begin set startlocationseed set locationcharindex(split,str,start) set nextnext1 end if location 0 select location len(str)1 --这儿存在两种情况1、字符串不存在分隔符号 2、字符串中存在分隔符号跳出while循环后location为0那默认为字符串后边有一个分隔符号。 return substring(str,start,location-start) end 调用示例select dbo.Get_StrArrayStrOfIndex(8,9,4,,,2) 返回值9 三、结合上边两个函数象数组一样遍历字符串中的元素 declare str varchar(50) set str1,2,3,4,5 declare next int set next1 while nextdbo.Get_StrArrayLength(str,,) begin print dbo.Get_StrArrayStrOfIndex(str,,,next) set nextnext1 end 调用结果 1 2 3 4 5 引文来源 T-SQL象数组一样处理字符串、分割字符串遍历数组 - bloodycool - 博客园