如何使用sql找到字符串中特定字符的出现次数?
示例:我想查找字母"d"出现在此字符串中的次数.
declare @string varchar(100) select @string = 'sfdasadhfasjfdlsajflsadsadsdadsa'
Mladen Prajd.. 56
干得好:
declare @string varchar(100) select @string = 'sfdasadhfasjfdlsajflsadsadsdadsa' SELECT LEN(@string) - LEN(REPLACE(@string, 'd', '')) AS D_Count
Rob Farley.. 13
如果你想让它更通用一点,你应该除以你想要的东西的长度.像这样:
declare @searchstring varchar(10); set @searchstring = 'Rob'; select original_string, (len(orginal_string) - len(replace(original_string, @searchstring, '')) / len(@searchstring) from someTable;
这是因为每次找到"Rob"时,都会删除三个字符.所以当你删除六个字符时,你已经发现了两次'Rob'.
干得好:
declare @string varchar(100) select @string = 'sfdasadhfasjfdlsajflsadsadsdadsa' SELECT LEN(@string) - LEN(REPLACE(@string, 'd', '')) AS D_Count
如果你想让它更通用一点,你应该除以你想要的东西的长度.像这样:
declare @searchstring varchar(10); set @searchstring = 'Rob'; select original_string, (len(orginal_string) - len(replace(original_string, @searchstring, '')) / len(@searchstring) from someTable;
这是因为每次找到"Rob"时,都会删除三个字符.所以当你删除六个字符时,你已经发现了两次'Rob'.