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

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

  • 相关阅读:
    [原创] 上海好买基金招聘测试经理/测试主管/测试工程师/测试开发工程师(长期有效)
    [原创]表达沟通SCQA架构思维导图
    [原创]PostMan接口测试神器
    [原创]2015年测试人员薪水分布图
    [推荐]大型网站开发知识介绍
    使用C#版OpenCV进行圆心求取
    使用C#版Tesseract库
    OCR库Tesseract初探
    pip的基本使用
    IPAddress.Any 解决本地ip和服务器ip切换问题
  • 原文地址:https://www.cnblogs.com/yhnet/p/12659069.html
Copyright © 2011-2022 走看看