Maison >base de données >tutoriel mysql >Comment extraire le dernier élément d'une chaîne après la barre oblique finale en SQL ?

Comment extraire le dernier élément d'une chaîne après la barre oblique finale en SQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-26 06:18:11975parcourir

How to Extract the Last Element of a String After the Final Slash in SQL?

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

Problème :

Considérons un tableau contenant valeurs de la forme :

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

L'objectif est d'extraire le dernier élément après la finale Caractère "/" de chaque chaîne, de telle sorte que la sortie devienne :

Diet.aspx
MeettheFoodieandtheMD.aspx
OurMenu.aspx

Solution :

Approche SQL :

Pour y parvenir en SQL, utilisez la requête suivante :

SELECT SUBSTRING(string , LEN(string) -  CHARINDEX('/',REVERSE(string)) + 2  , LEN(string)  ) FROM SAMPLE;
  • La fonction SUBSTRING prend trois arguments : position de départ, longueur et chaîne d'entrée.
  • La fonction CHARINDEX localise la première occurrence d'une chaîne spécifiée dans une autre chaîne.
  • REVERSE inverse la chaîne d'entrée, permettant la recherche du final "/".
  • Cette expression calcule la position de départ de la sous-chaîne à extraire (la fin de la chaîne moins la longueur du dernier "/" à la fin plus 2).
  • La requête sélectionne la sous-chaîne extraite de la table SAMPLE spécifiée.

Exemple :

Pour l'entrée fournie, le le résultat serait :

Diet.aspx
MeettheFoodieandtheMD.aspx
OurMenu.aspx

Référez-vous à ce JSFiddle pour une démonstration en direct : http://sqlfiddle.com/#!3/41ead/11

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