zoukankan      html  css  js  c++  java
  • SQL 中类似字符串分隔符的处理,类似split函数


    --根据分隔符获得字符串分割的数组大小
    CREATE function GetStrArrayLength
    (
     @str varchar(1024),  --要分割的字符串
     @split varchar(10)  --分隔符号
    )
    returns int
    as
    begin
     declare @location int
     declare @start int
     declare @length int

     set @str=ltrim(rtrim(@str))
     set @location=charindex(@split,@str)
     set @length=1
     while @location<>0
     begin
       set @start=@location+1
       set @location=charindex(@split,@str,@start)
       set @length=@length+1
     end
     return @length
    end

    select dbo.GetStrArrayLength('1_a,2_b,3_c',',')


    --显示第几个元素
    CREATE function GetStrArrayStrOfIndex
    (
     @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 @str=ltrim(rtrim(@str))
     set @start=1
     set @next=1
     set @seed=len(@split)
     
     set @location=charindex(@split,@str)
     while @location<>0 and @index>@next
     begin
       set @start=@location+@seed
       set @location=charindex(@split,@str,@start)
       set @next=@next+1
     end
     if @location =0 select @location =len(@str)+1
    --这儿存在两种情况:1、字符串不存在分隔符号 2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号。
     
     return substring(@str,@start,@location-@start)
    end

    select dbo.GetStrArrayStrOfIndex('1_a,2_b,3_c',',',4)


    --综合上面

    declare @str varchar(50)
    set @str='1,2,3,4,5'
    declare @next int  
    set @next=1
    while @next<=soufuncard_admin.GetStrArrayLength(@str,',')
    begin
     print dbo.GetStrArrayStrOfIndex(@str,',',@next)
     set @next=@next+1
    end



    本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

  • 相关阅读:
    innerHTML获取标签内容
    images获取所有图片标签
    getElementsByTagName通过标签名获取元素对象集合
    getElementsByName通过标签的name属性来获取元素对象
    getElementsByClassName通过类名获取元素对象集合
    getElementById通过id找到对象
    tp3.2查询指定的字段
    流程控制语句if、else、elif、break、continue
    Python3基础知识之元组、集合、字典
    快速自定义输出格式
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319302.html
Copyright © 2011-2022 走看看