zoukankan      html  css  js  c++  java
  • 【SQL】判断一个字符串是否在另外一个字符串中

    eg:

    str1 = 'admin'

    str2 = '1234,123admin,xcxx'

    比较str1是否在str2中

    用常用的charindex,返回肯定是有值的,这里自己动手写一个方法

    ----------------检查一个字符串是否在另外一个字符串中数,另外一个字符串元素用,隔开-------------
    Create function [dbo].[CheckStrInArr](@s as varchar(50),@sArr as varchar(5000)) returns int
    as 
    begin
    declare @str varchar(5000)
    set @str=@sArr
    declare @next int  
    declare @ret int        -- 0表示不存在  1表示存在
    set @ret=0
    set @next=1
    while @next<=dbo.Get_StrArrayLength(@str,',')
    begin
       if dbo.Get_StrArrayStrOfIndex(@str,',',@next)=@s 
      begin
      set @ret=1;
      end
       set @next=@next+1
    end
    return @ret
    end
    ----------------检查一个元素是否在数组中-------------
    Create function [dbo].[CheckStrInArr](@s as varchar(50),@sArr as varchar(5000)) returns int
    as 
    begin
    declare @str varchar(5000)
    set @str=@sArr
    declare @next int  
    declare @ret int        -- 0表示不存在  1表示存在
    set @ret=0
    set @next=1
    while @next<=dbo.Get_StrArrayLength(@str,',')
    begin
       if dbo.Get_StrArrayStrOfIndex(@str,',',@next)=@s 
      begin
      set @ret=1;
      end
       set @next=@next+1
    end
    return @ret
    end
    ---------------------获取数组的长度--------------
    Create function [dbo].[Get_StrArrayLength]
    (
      @str varchar(5000),  --要分割的字符串
      @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

    通过以上三个小函数即可判断特定字符串是否在目标串中

  • 相关阅读:
    Compile Groovy/Spock with GMavenPlus
    Jenkins Slave Nodes – using the Swarm Plugin
    [NodeJS]Jenkins-cli
    [CoffeeScript]使用Yield功能
    [JavaScript]String.format
    [CoffeeScript]在WebStorm里运行CoffeeScript
    自动化运维的三阶段理论
    [Ruby]Unzipping a file using rubyzip
    测试文章引用
    敏捷软件测试读书笔记
  • 原文地址:https://www.cnblogs.com/yhnet/p/12659069.html
Copyright © 2011-2022 走看看