No hay una función integrada que cuente las ocurrencias de subcadenas en una cadena, pero puede calcular la diferencia entre la cadena original y la misma cadena sin comas:
LENGTH(fooCommaDelimColumn) - LENGTH(REPLACE(fooCommaDelimColumn, ',', ''))
Se editó varias veces en el transcurso de casi 8 años (¡guau!), así que para mayor claridad:la consulta anterior no necesita un + 1
, porque los datos de OP tienen una coma adicional al final.
Si bien, en general, el caso de la cadena se ve así:foo,bar,baz
la expresión correcta sería
LENGTH(col) - LENGTH(REPLACE(col, ',', '')) + 1