Compter les mots dans MySQL à l'aide de Regex
Compter le nombre de mots dans un champ de texte à l'aide de MySQL peut être difficile, surtout lorsqu'il y en a plusieurs espaces entre les mots. La méthode couramment suggérée pour utiliser LENGTH(name) - LENGTH(REPLACE(name, ' ', '') 1 peut conduire à des résultats inexacts.
Remplacement d'expression régulière
Une solution potentielle consiste à exploiter la fonction REGEXP_REPLACE, qui permet des substitutions avancées basées sur des expressions régulières dans MySQL.
Implémentation :
SELECT LENGTH(REGEXP_REPLACE(name, '[[:space:]]+', ' ')) + 1 FROM table
Cette requête utilise la fonction REGEXP_REPLACE pour remplacer tous les caractères d'espacement consécutifs ([[:space:]] ) par un seul espace caractère (' '). Le quantificateur garantit que même plusieurs espaces consécutifs seront réduits.
Supplémentaire. Notes :
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!