如何使用sql找到字符串中特定字符的出现次数?

时间:2008-11-13 16:17:03

标签: sql string search

如何使用sql找到字符串中特定字符的出现次数?

示例:我想查找字母“d”出现在此字符串中的次数。

declare @string varchar(100)
select @string = 'sfdasadhfasjfdlsajflsadsadsdadsa'

3 个答案:

答案 0 :(得分:56)

你走了:

declare @string varchar(100)
select @string = 'sfdasadhfasjfdlsajflsadsadsdadsa'
SELECT LEN(@string) - LEN(REPLACE(@string, 'd', '')) AS D_Count

答案 1 :(得分:12)

如果你想让它更通用一点,你应该除以你想要的东西的长度。像这样:

declare @searchstring varchar(10);
set @searchstring = 'Rob';

select original_string, 
(len(orginal_string) - len(replace(original_string, @searchstring, '')) 
   / len(@searchstring)
from someTable;

这是因为每次找到“Rob”时,都会删除三个字符。所以当你删除六个字符时,你已经发现了两次“Rob”。

答案 2 :(得分:0)

对于您在那里使用的所有Sybase ASE 15恐龙,您需要将''替换为空,即

SELECT LEN(@string) - LEN(REPLACE(@string, 'd', null)) AS D_Count