zoukankan      html  css  js  c++  java
  • SQL.字符串重叠项数量统计

    Create Function CheckOverlap(
    @SrcInfo nvarchar(max),
    @DestInfo nvarchar(max),
    @SplitStr nvarchar(100)
    ) returns int
    as
    begin
    declare @LapNum int
    Set @LapNum=0
    --修正比对项
    Set @SrcInfo=LTRIM(RTRIM(@SrcInfo))
    Set @DestInfo=@SplitStr+LTRIM(RTRIM(@DestInfo))+@SplitStr
    --分解识别
    declare @ch nvarchar(1000)
    declare @chidx integer
    declare @splitLen integer
    Set @splitLen=LEN(@SplitStr)
    Set @chidx=CHARINDEX(@SplitStr,@SrcInfo)
    while(@chidx>0)
    begin
    Set @ch=left(@SrcInfo,@chidx-1)
    --
    Set @SrcInfo=stuff(@SrcInfo,1,@chidx+@splitLen-1,'')
    Set @chidx=CHARINDEX(@SplitStr,@SrcInfo)
    --
    Set @ch=@SplitStr+@ch+@SplitStr
    if CHARINDEX(@ch,@DestInfo)>0
    Set @LapNum=@LapNum+1
    end
    if @SrcInfo<>''
    begin
    Set @ch=@SplitStr+@SrcInfo+@SplitStr
    if CHARINDEX(@ch,@DestInfo)>0
    Set @LapNum=@LapNum+1
    end
    --
    return @LapNum
    end

    --select dbo.CheckOverlap('aa,bb,cc,dd','a,aa,bbb,c,cc,ddd,eee',',')
    --select dbo.CheckOverlap('ax,yb,cc,dd','ax,yax,ybb,c,cc,ddd,eee','x,y')

  • 相关阅读:
    功能规格说明书
    绝望的作业
    php闭包
    php isset emtpy
    PHP超级全局变量、魔术变量和魔术函数
    死锁的一个例子
    php session cookie
    http状态码301、302
    php浮点数
    学过的设计模式
  • 原文地址:https://www.cnblogs.com/jieling/p/13962859.html
Copyright © 2011-2022 走看看