Det finns ingen inbyggd funktion som räknar förekomster av delsträng i en sträng, men du kan beräkna skillnaden mellan den ursprungliga strängen och samma sträng utan kommatecken:
LENGTH(fooCommaDelimColumn) - LENGTH(REPLACE(fooCommaDelimColumn, ',', ''))
Den har redigerats flera gånger under nästan 8 år nu (wow!), så för tydlighetens skull:frågan ovan behöver inte en + 1
, eftersom OPs data har ett extra avslutande kommatecken.
Medan faktiskt, i vanliga fall för strängen som ser ut så här:foo,bar,baz
det korrekta uttrycket skulle vara
LENGTH(col) - LENGTH(REPLACE(col, ',', '')) + 1