sql2005判断字符(串)出现次数

本文介绍了一种使用SQL函数来计算一个字符串在另一个字符串中出现次数的方法。该方法通过两种不同的实现方式,一种是通过计算字符串长度的差值来间接获取匹配次数,另一种则是采用循环查找的方式直接计数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

感谢ljmiis的评论,才有了这个方法:
Create function angel
(
@variable varchar(max), --要寻找的字符
@char varchar(max)) --目标字符串
returns int
begin
    
declare @index int
    
set @index=(len(@variable)-len(replace(@variable@char'')))/len(@char)

    
return @index
end 

但是ljmiis的也有不全面的地方:
1、datalength表示的是字符的长度,向中文的长度就是两个。这样结果就是错的;
2、可能我标题没取好,原函数还可以判断字符串出现次数。

 原始方法

Create function angel
(
@variable varchar(max), --要寻找的字符
@char varchar(max)) --目标字符串
returns int
begin
    
declare @index int
    
set @index=0

    
while (select charindex(@variable,@char))>0
    
begin
        
set @index=@index+1
        
set @char=stuff(@char,(charindex(@variable,@char)),1,'0'
    
end

    
return @index

end 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值