Nie ma wbudowanej funkcji zliczającej wystąpienia podciągu w ciągu, ale można obliczyć różnicę między oryginalnym ciągiem a tym samym ciągiem bez przecinków:
LENGTH(fooCommaDelimColumn) - LENGTH(REPLACE(fooCommaDelimColumn, ',', ''))
Było edytowane wiele razy w ciągu prawie 8 lat (wow!), więc dla jasności:powyższe zapytanie nie wymaga + 1
, ponieważ dane OP mają dodatkowy końcowy przecinek.
Chociaż rzeczywiście, w ogólnym przypadku dla ciągu, który wygląda tak:foo,bar,baz
poprawnym wyrażeniem byłoby
LENGTH(col) - LENGTH(REPLACE(col, ',', '')) + 1