MSSQL sqlserver 统计"一个字符串"在"另一个字符串"中出现的次数的方法

时间:2020-01-14
本文章向大家介绍MSSQL sqlserver 统计"一个字符串"在"另一个字符串"中出现的次数的方法,主要包括MSSQL sqlserver 统计"一个字符串"在"另一个字符串"中出现的次数的方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

 转自 http://www.maomao365.com/?p=9858 

摘要:
下文讲述sqlserver中最快获取一个字符串在另一个字符串中出现个数的方法分享
实验环境:sql server 2008 R2


 
实现思路:
1.使用replace替换字符串后
2.使用Len获取替换后的长度,
3.得出替换前和替换后的长度差
4.使用长度差除以替换字符串的长度,所得到的商即为"替换的个数"。 

 
declare @a varchar(10)
declare @b varchar(100)

--待替换字符串
set @a ='maomao'

--原字符串赋值
set @b ='sqlserver,maomao365.com,maomao,other,maomao'
set @b = @b +'maomao,mama,sqlserver';

---中间变量定义
declare @b_ varchar(100)
declare @b_len int 
---替换字符串
set @b_ = REPLACE(@b,@a,'')

---替换后长度获取
set @b_len =len(@b_)

if len(@a) =0
begin
print N'出现个数为0'
end
else
begin
print N'出现个数为0'
print (len(@b)-@b_len) / len(@a)
end

相关阅读:

sqlserver replace函数用法分享

sqlserver len和datalength关键字用法简介

sqlserver算术运算方法分享

原文地址:https://www.cnblogs.com/lairui1232000/p/12193141.html