Extraire des sous-chaînes d'une chaîne MySQL avec un délimiteur
Dans MySQL, extraire des sous-chaînes d'une chaîne peut être difficile si la chaîne contient plusieurs sous-chaînes séparées par délimiteurs. Cependant, il existe des techniques pour y parvenir en utilisant les fonctions MySQL standard.
Solution utilisant la fonction Split
Malheureusement, MySQL ne prend pas en charge nativement une fonction de chaîne divisée. Cependant, des fonctions de fractionnement personnalisées peuvent être créées à l'aide de procédures stockées ou de fonctions définies par l'utilisateur. Reportez-vous à des ressources externes telles que celle fournie dans la réponse.
Méthode détaillée utilisant SUBSTRING_INDEX
Pour une extraction de données simple, une approche plus détaillée peut être utilisée :
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;
Cette instruction SQL utilise à plusieurs reprises la fonction SUBSTRING_INDEX pour décomposer la chaîne de couleurs en sous-chaînes individuelles en fonction de la délimiteur virgule. La variable « n » représente la position de la sous-chaîne souhaitée dans la chaîne. Par exemple, si vous souhaitez extraire les trois premières couleurs du champ « couleurs », vous définirez « n » sur 1, 2 et 3 dans l'instruction ci-dessus.
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!