mssql sqlserver查询指定字符在字符串中出现的次数

转自:http://www.maomao365.com/?p=8455
摘要:
下文讲述使用sql脚本获取“指定字符串”在字符串中出现的次数的方法分享
实验环境:sql server 2008 R2



实现思路:
使用charindex和substring依次截取存在字符串,依次遍历循环

 

CREATE FUNCTION [dbo].[fnQueryCharCountFromStr]
(
@sourceStr nvarchar(MAX), --待查找字符串
@splitStr nvarchar(max) --需查找的字符串
)
RETURNS INT
AS
BEGIN

declare @i int =0

while charindex(@splitStr,@sourceStr) >0
begin
set @i = @i+1;
set @sourceStr =substring(@sourceStr,
charindex(@splitStr,@sourceStr)+len(@splitStr),
len(@sourceStr)
)

end


return @i ;

END
go

/*函数测试
检测 "猫" 字 出现的次数
*/

select [dbo].[fnQueryCharCountFromStr]('猫猫小屋','')
go

drop function [dbo].[fnQueryCharCountFromStr]
go

 

posted @ 2019-04-23 14:16  Adeal2008  阅读(2650)  评论(0编辑  收藏  举报