Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como contar itens na lista separada por vírgulas MySQL


Não há função interna que conte ocorrências de substring em uma string, mas você pode calcular a diferença entre a string original e a mesma string sem vírgulas:
LENGTH(fooCommaDelimColumn) - LENGTH(REPLACE(fooCommaDelimColumn, ',', ''))

Ele foi editado várias vezes ao longo de quase 8 anos (uau!), então para maior clareza:a consulta acima não precisa de um + 1 , porque os dados de OPs têm uma vírgula extra à direita.

Embora de fato, em geral, para a string que se parece com isso:foo,bar,baz a expressão correta seria
LENGTH(col) - LENGTH(REPLACE(col, ',', '')) + 1