Maison >base de données >tutoriel mysql >Comment extraire le dernier élément d'une chaîne délimitée à l'aide de SQL ?

Comment extraire le dernier élément d'une chaîne délimitée à l'aide de SQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-25 22:14:10663parcourir

How to Extract the Last Element from a Delimited String Using SQL?

Extraire le dernier élément d'une chaîne fractionnée

Dans les situations où vous avez une table contenant des chaînes avec plusieurs composants séparés par des délimiteurs (tels que barres obliques dans cet exemple), la tâche d'extraire le dernier élément de chaque composant devient essentielle. Ceci peut être réalisé grâce à diverses techniques de programmation.

En utilisant SQL, une approche efficace consiste à utiliser les fonctions CHARINDEX et SUBSTRING. La fonction CHARINDEX localise la position d'une sous-chaîne spécifiée dans une chaîne, vous permettant d'identifier la présence du délimiteur. La fonction SUBSTRING extrait ensuite la partie souhaitée de la chaîne.

Par exemple, si vous avez un tableau avec les valeurs suivantes :

Articles/Search/ArtMID/2681/ArticleID/2218/Diet.aspx
OurStory/MeettheFoodieandtheMD.aspx
TheFood/OurMenu.aspx

Et vous souhaitez extraire le dernier élément (le noms de fichiers) :

Diet.aspx
MeettheFoodieandtheMD.aspx
OurMenu.aspx

Vous pouvez utiliser l'instruction SQL suivante :

SELECT SUBSTRING(string, LEN(string) - CHARINDEX('/', REVERSE(string)) + 2, LEN(string)) FROM SAMPLE;

Dans ce instruction:

  • LEN(string) : renvoie la longueur de la chaîne.
  • CHARINDEX('/', REVERSE(string)) : recherche la dernière occurrence du délimiteur ' /' dans la chaîne inversée. Ceci détermine la position de départ du dernier élément.
  • SUBSTRING(string, ..., LEN(string)) : Extrait le dernier élément de la chaîne, à partir de la position identifiée par CHARINDEX.

En exécutant cette requête, vous obtiendrez les résultats souhaités, en isolant les derniers éléments des chaînes d'entrée.

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!

Déclaration:
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