Если вы хотите сделать это немного более общим, вы должны разделить на длину того, что вы ищете. Как это:
declare @searchstring varchar(10);
set @searchstring = 'Rob';
select original_string,
(len(orginal_string) - len(replace(original_string, @searchstring, ''))
/ len(@searchstring)
from someTable;
Это потому, что каждый раз, когда вы находите «Роба», вы удаляете трех персонажей. Поэтому, когда вы удаляете шесть символов, вы дважды обнаруживаете «Роб».