Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Häufigkeit, mit der ein bestimmtes Zeichen in einer Zeichenfolge vorkommt

Dafür gibt es keine direkte Funktion, aber Sie können dies mit einem Ersetzen tun:

declare @myvar varchar(20)
set @myvar = 'Hello World'

select len(@myvar) - len(replace(@myvar,'o',''))

Im Grunde sagt Ihnen dies, wie viele Zeichen entfernt wurden und wie viele Instanzen davon es gab.

Zusatz:

Das Obige kann erweitert werden, um das Vorkommen einer Zeichenfolge mit mehreren Zeichen zu zählen, indem durch die Länge der Zeichenfolge geteilt wird, nach der gesucht wird. Zum Beispiel:

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)