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
TSQL:判断某较短字符串在较长字符串中出现的次数。的更多相关文章
- 给出N个字符串恰好由三位字母(大小写)组成,再给出M个查询字符串,问每个查询字符串在N个字符中出现的次数。
1 #include<cstdio> 2 const int maxn = 100; 3 char S[maxn][5], temp[5]; 4 int hashTable[52 * 52 ...
- 13.Python字符串详解(包含长字符串和原始字符串)
简单地理解,字符串就是“一串字符”,也就是用引号包裹的任何数据,比如“Hello,Charlie”是一个字符串,“12345”也是一个字符串. Python 要求,字符串必须使用引号括起来,可以使用单 ...
- 判断i在字符串中出现的次数(2016.1.12P141-1)
// 方法一,利用substring截取获得出现的次数 String number = "iminigrikejijavabi"; String a = number; int c ...
- C#算法之判断一个字符串是否是对称字符串
记得曾经一次面试时,面试官给我电脑,让我现场写个算法,判断一个字符串是不是对称字符串.我当时用了几分钟写了一个很简单的代码. 这里说的对称字符串是指字符串的左边和右边字符顺序相反,如"abb ...
- 使用List把一个长字符串分解成若干个短字符串
把一个长字符串分解成若干个固定长度的短字符串,由于事先不知道长字符串的长度,以及短字符串的数量,只能使用List. public static void get_list_sbody(String s ...
- php 判断字符串在另一个字符串中位置
$email='user@example.com'; //定义字符串$result=strstr($email,'@'); //返回子字符串echo $result; / ...
- 【功能代码】---3 JS判断字符串是否包含某个字符串
JS判断字符串是否包含某个字符串 var str ="abc"; if(str.indexOf("bc")>-1){ alert('str中包含bc字符串 ...
- mysql判断表里面一个逗号分隔的字符串是否包含单个字符串、查询结果用逗号分隔
1.mysql判断表里面一个逗号分隔的字符串是否包含单个字符串 : FIND_IN_SET select * from tablename where FIND_IN_SET(传的参数,匹配字段) 例 ...
- java算法:统计数字-将数字转换成字符串,然后使用字符串String.valueOf()方法进行判断
题目: 计算数字 k 在 0 到 n 中的出现的次数,k 可能是 0~9 的一个值. 样例 样例 1: 输入: k = 1, n = 1 输出: 1 解释: 在 [0, 1] 中,我们发现 1 出现了 ...
随机推荐
- oracle dba
http://www.oracleblog.org/category/study-note/ https://jonathanlewis.wordpress.com/ http://www.julia ...
- AngularJS路由系列(3)-- UI-Router初体验
本系列探寻AngularJS的路由机制,在WebStorm下开发. AngularJS路由系列包括: 1.AngularJS路由系列(1)--基本路由配置2.AngularJS路由系列(2)--刷新. ...
- 用格式工厂将mts文件转换成其它格式flv,mpg失败
通常情况下,是由帧速率的改变引起的! 看一看你的MTS帧速率是多少,则转换成FLV时,帧速率要一样!---------- 这是非常重要的!!!
- iReport数据库连接找不到驱动
- 浅析c++中virtual关键字
http://blog.csdn.net/djh512/article/details/8973606 1.virtual关键字主要是什么作用? c++中的函数调用默认不适用动态绑定.要触发动态绑定, ...
- cocos2d-x 清空缓存
如场景切换 在内存吃紧的情况下 我们可以选择 先清理一下缓存 // 清空缓存 CCDirector::sharedDirector()->purgeCachedData();
- TDD:simply mocking a class is not necessarily the best practice
simply mocking a class is not necessarily the best practice either—it might be better to refactor th ...
- 关于面试总结6-SQL经典面试题
前言 用一条SQL 语句查询xuesheng表每门课都大于80 分的学生姓名,这个是面试考sql的一个非常经典的面试题 having和not in 查询 xuesheng表每门课都大于80 分的学生姓 ...
- System.loadLibrary()的使用方法汇总
当使用System.loadLibrary()调用 Dll,两种方法: 1.设定环境变量. 比如:所编辑的Dll在目录“D:/cppProjects/nativecode/release”内,将这个路 ...
- SSD阵列卡方案优化:考虑使用RAID 50替代RAID 10
最近一直在研究RAID 50,因为牺牲一半的容量的RAID 10代价实在太大了,而且它提供的可用性也并不是百分百的,我们首先来看下RAID 10的可用性分析: 以同等容量的不同RAID方式作为案例分析 ...