Der er ingen direkte funktion til dette, men du kan gøre det med en erstatning:
declare @myvar varchar(20)
set @myvar = 'Hello World'
select len(@myvar) - len(replace(@myvar,'o',''))
Grundlæggende fortæller dette dig, hvor mange tegn der blev fjernet, og derfor hvor mange forekomster af det der var.
Ekstra:
Ovenstående kan udvides til at tælle forekomsterne af en multi-char-streng ved at dividere med længden af den streng, der søges efter. For eksempel:
declare @myvar varchar(max), @tocount varchar(20)
set @myvar = 'Hello World, Hello World'
set @tocount = 'lo'
select (len(@myvar) - len(replace(@myvar,@tocount,''))) / LEN(@tocount)