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
  • 相关阅读:
    2
    1
    Java面试题整理二(侧重SSH框架)
    solr添加多个core
    Oracle SQL性能优化
    jQuery的$.ajax
    spring四种依赖注入方式
    通过JAXB完成Java对象与XML之间的转换
    window环境下将solr6.3部署到tomcat中
    Java面试题整理一(侧重多线程并发)
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/8868599.html
Copyright © 2011-2022 走看看