Как вы можете найти количество вхождений конкретного символа в строке с помощью sql? Как вы можете найти количество вхождений конкретного символа в строке с помощью sql? Пример: я хочу найти количество раз, когда в этой строке появляется буква "d". declare @string varchar(100) select @string = 'sfdasadhfasjfdlsajflsadsadsdadsa' Ответ 1 Здесь вы идете: declare @string varchar(100) select @string = 'sfdasadhfasjfdlsajflsadsadsdadsa' SELECT LEN(@string) - LEN(REPLACE(@string, 'd', '')) AS D_Count Ответ 2 Если вы хотите сделать его более общим, вы должны разделить по длине вещи, которую вы ищете. Вот так: declare @searchstring varchar(10); set @searchstring = 'Rob'; select original_string, (len(orginal_string) - len(replace(original_string, @searchstring, '')) / len(@searchstring) from someTable; Это потому, что каждый раз, когда вы находите "Rob", вы удаляете три символа. Поэтому, когда вы удаляете шесть символов, вы дважды нашли "Роб".
Ответ 1 Здесь вы идете: declare @string varchar(100) select @string = 'sfdasadhfasjfdlsajflsadsadsdadsa' SELECT LEN(@string) - LEN(REPLACE(@string, 'd', '')) AS D_Count
Ответ 2 Если вы хотите сделать его более общим, вы должны разделить по длине вещи, которую вы ищете. Вот так: declare @searchstring varchar(10); set @searchstring = 'Rob'; select original_string, (len(orginal_string) - len(replace(original_string, @searchstring, '')) / len(@searchstring) from someTable; Это потому, что каждый раз, когда вы находите "Rob", вы удаляете три символа. Поэтому, когда вы удаляете шесть символов, вы дважды нашли "Роб".