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