Comment trouver le nombre d'occurrences d'un caractère particulier dans une chaîne en utilisant SQL?
Exemple: je veux trouver le nombre de fois la lettre "d" apparaît dans cette chaîne.
declare @string varchar(100)
select @string = 'sfdasadhfasjfdlsajflsadsadsdadsa'
Voici:
declare @string varchar(100)
select @string = 'sfdasadhfasjfdlsajflsadsadsdadsa'
SELECT LEN(@string) - LEN(REPLACE(@string, 'd', '')) AS D_Count
Si vous voulez en faire un peu plus général, vous devriez diviser par la durée de la chose que vous recherchez. Comme ça:
declare @searchstring varchar(10);
set @searchstring = 'Rob';
select original_string,
(len(orginal_string) - len(replace(original_string, @searchstring, ''))
/ len(@searchstring)
from someTable;
C'est parce que chaque fois que vous trouvez 'rob', vous retirez trois caractères. Donc, lorsque vous retirez six caractères, vous avez trouvé "Rob" deux fois.
Pour tout ce que vous êtes sybase ASE 15 dinosaures notre connexion, vous devrez remplacer '' avec NULL, c'est-à-dire.
SELECT LEN(@string) - LEN(REPLACE(@string, 'd', null)) AS D_Count