Maison >base de données >tutoriel mysql >Comment puis-je extraire des sous-chaînes d'une chaîne délimitée dans MySQL ?
Extraire des sous-chaînes dans MySQL à l'aide de délimiteurs
Problème :
Extraire des sous-chaînes d'une chaîne dans MySQL qui contient plusieurs valeurs séparées par un délimiteur spécifique, tel qu'une virgule (,).
Réponse :
Bien que MySQL ne dispose pas d'une fonction de chaîne divisée intégrée, il existe des approches alternatives pour y parvenir :
Fonction définie par l'utilisateur :
Implémentez une fonction définie par l'utilisateur (UDF) qui divise la chaîne en fonction de la valeur spécifiée. délimiteur.
Exemple de requête (verbeux) :
À des fins de démonstration, supposons que n représente le nombre de sous-chaînes que vous souhaitez extraire :
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 1), ',', -1) AS colorfirst, SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 2), ',', -1) AS colorsecond ... SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', n), ',', -1) AS colornth FROM product;
Dans ce Par exemple, la fonction SUBSTRING_INDEX permet d'extraire la première sous-chaîne, puis la seconde, et ainsi de suite jusqu'à la nième sous-chaîne.
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!