Maison > base de données > tutoriel mysql > Comment extraire des sous-chaînes d'une chaîne délimitée dans MySQL ?

Comment extraire des sous-chaînes d'une chaîne délimitée dans MySQL ?

Barbara Streisand
Libérer: 2024-11-27 16:43:14
original
662 Les gens l'ont consulté

How to Extract Substrings from a Delimited String in MySQL?

Extraction de sous-chaînes MySQL à l'aide d'un délimiteur

L'extraction de sous-chaînes d'une chaîne dans MySQL peut être réalisée à l'aide de la fonction SUBSTRING_INDEX. Cette fonction vous permet de spécifier le délimiteur pour séparer les sous-chaînes et la position de la sous-chaîne que vous souhaitez extraire.

Par exemple, considérez le tableau suivant :

item_code name colors
102 ball red,yellow,green
104 balloon yellow,orange,red

Pour extraire les couleurs comme sous-chaînes distinctes, vous pouvez utiliser la requête suivante :

SELECT item_code, name, 
       SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 1), ',', -1) AS color_first,
       SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 2), ',', -1) AS color_second
FROM Product;
Copier après la connexion

La fonction SUBSTRING_INDEX est appliquée deux fois dans cette requête. La première fois, il est utilisé pour trouver la première sous-chaîne, et la deuxième fois, il est utilisé pour extraire les sous-chaînes restantes du résultat de la première application.

Le résultat résultant sera le suivant :

item_code name color_first color_second
102 ball red yellow
104 balloon yellow orange

Notez qu'une version plus détaillée de la requête qui récupère toutes les sous-chaînes serait :

SELECT item_code, name, 
       SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 1), ',', -1) AS color_first,
       SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 2), ',', -1) AS color_second,
       SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 3), ',', -1) AS color_third
FROM Product;
Copier après la connexion

Cette requête plus longue récupère toutes les sous-chaînes du champ couleurs, en utilisant le même modèle que la requête plus courte.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal