zoukankan      html  css  js  c++  java
  • TSQL:判断某较短字符串在较长字符串中出现的次数。

    给定一个较短字符串shortStr='ab',和一个较长字符串longStr='adkdabkwelabwkereabrsdweo2342ablk234lksdfsdf1abe';

    判断shortStr在longStr中出现的次数的方案,要求使用sql实现:

    方案一:使用replace函数:

    declare @llongStr nvarchar(64)
    declare @shortStr nvarchar(16);
    set @llongStr='adkdabkwelabwkereabrsdweo2342ablk234lksdfsdf1abe';
    set @shortStr='ab';
    
    declare @newStr nvarchar(64);
    set @newStr=replace(@llongStr,@shortStr,'');
    
    declare @shortDisplayCount int;
    set @shortDisplayCount=(len(@llongStr)-len(@newStr))/len(@shortStr);
    
    select @shortDisplayCount;

    打印结果:

    方案二:使用charindex和substring实现:

    declare @longStr nvarchar(64)
    declare @shortStr nvarchar(16);
    set @longStr='adkdabkwelabwkereabrsdweo2342ablk234lksdfsdf1abe';
    set @shortStr='ab';       
    
    declare @findCount int;     
    declare @idx int;
    set @findCount=0;
    
    while charindex(@shortstr,@longStr)>0
    begin
        set @findCount+=1;
        set @idx=charindex(@shortstr,@longStr)
        
        set @longStr=substring(@longStr,@idx+len(@shortStr),len(@longStr)-@idx);
        print @longStr         
    end
    
    print @findCount

    输出结果:

    kwelabwkereabrsdweo2342ablk234lksdfsdf1abe
    wkereabrsdweo2342ablk234lksdfsdf1abe
    rsdweo2342ablk234lksdfsdf1abe
    lk234lksdfsdf1abe
    e
    5
  • 相关阅读:
    Java + Element-UI 实现简单的树形菜单
    简单了解一下 Nginx
    使用阿里云 OSS 存储、访问图片(Java)
    JSR 303 进行后台数据校验
    SpringBoot 常用注解
    12、js——轮播图
    11、js——定时调用和延时调用
    11、js——BOM
    10、js——事件
    9、js——样式相关的操作
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/8868599.html
Copyright © 2011-2022 走看看