Compter les éléments dans des listes séparées par des virgules dans MySQL
Déterminer le nombre d'éléments dans une liste séparée par des virgules stockés dans une colonne MySQL peut être une tâche simple utilisant une formule simple qui exploite les fonctions de manipulation de chaînes.
Pour compter les éléments dans une colonne nommée fooCommaDelimColumn, vous pouvez utiliser l'expression SQL suivante :
LENGTH(fooCommaDelimColumn) - LENGTH(REPLACE(fooCommaDelimColumn, ',', ''))
Cette expression calcule la différence entre la chaîne d'origine et la même chaîne avec toutes les virgules supprimées. Le résultat vous donne le nombre d'éléments dans la liste.
Par exemple, si fooCommaDelimColumn contient la valeur "chats, chiens, vaches," (avec une virgule de fin supplémentaire), l'expression renverrait 4. Ceci est parce que la chaîne d'origine comporte 15 caractères, tandis que la chaîne sans virgule comporterait 11 caractères, ce qui entraînerait une différence de 4.
Notez que bien que cette formule fonctionne pour les champs avec des virgules de fin supplémentaires, il est important d'ajuster le calcul en conséquence si les données ne comportent pas de telles virgules de fin. Dans ces cas, vous ajouteriez 1 au résultat pour tenir compte de la virgule supplémentaire potentiellement manquante.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!