T-sql 判断字符串中是否包含其中的字符

--参数:@inStr 待搜索字串,@fndStr 搜索字串,@doc 分隔符

-- 例:select dbo.fSearch('1,2,3,4,5,6','3,6,5,8,2',',') 返回0-不匹配,返回1-匹配(@instr中有@fndStr内容)

--可以用于表搜索,如:

--   Select *,dbo.fSearch(str,'3,6,5,8,2',',') as 是否匹配 from 表名

--   @fndStr和@doc两个参数就需要你自己提供了,@inStr可以是数据表里的某个待搜索字段名



  Create   function fSearch(@inStr varchar(1000),@fndStr varchar(1000),@doc varchar(10))   

  returns bit
  as   
  begin   
    declare  @ii   int,@rStr varchar(1000),@c varchar(1000)
    select @rStr=@fndStr
    while len(@rStr)>0
    begin  
 Select @ii=Charindex(@doc,@rStr)
        if @ii=0
 begin
    return 0
 end
 else
 begin
    select @c=substring(@rStr,1,@ii-1)
    if charIndex(@c,@inStr)>0
  return 1
           else
           begin
  select @rStr=substring(@rStr,@ii+len(@doc),len(@rStr))
    end
 end
    end
    return 0
  end   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0x12

下载和转换脚本可私信我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值