sql >> Databasteknik >  >> RDS >> Sqlserver

Antal gånger ett visst tecken förekommer i en sträng

Det finns ingen direkt funktion för detta, men du kan göra det med en ersätt:

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

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

I grund och botten berättar detta hur många tecken som togs bort, och därför hur många instanser det fanns.

Extra:

Ovanstående kan utökas för att räkna förekomsterna av en flerteckensträng genom att dividera med längden på strängen som söks efter. Till exempel:

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)


  1. Uppgradera PostgreSQL JSON-kolumnen till JSONB?

  2. Hur man kontrollerar inaktuell statistik

  3. Hur man byter namn på en kolumn i SQL

  4. Hur man hittar dubbletter av poster i MySQL