转自 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) =0beginprint N'出现个数为0'endelsebeginprint N'出现个数为0'print (len(@b)-@b_len) / len(@a)end

 

相关阅读:

sqlserver replace函数用法分享

sqlserver len和datalength关键字用法简介

sqlserver算术运算方法分享