Maison > base de données > tutoriel mysql > Comment trouver la dernière occurrence d'une sous-chaîne dans MySQL ?

Comment trouver la dernière occurrence d'une sous-chaîne dans MySQL ?

Patricia Arquette
Libérer: 2024-11-10 21:08:02
original
473 Les gens l'ont consulté

How to Find the Last Occurrence of a Substring in MySQL?

Détermination de la dernière occurrence d'une sous-chaîne dans MySQL

MySQL fournit la fonction INSTR() pour identifier la première instance d'une sous-chaîne dans une chaîne. Cependant, trouver la dernière occurrence pose un défi car il n'existe pas de fonction intégrée dédiée uniquement à cet effet.

Solution :

MySQL propose une méthode alternative pour accomplir cette tâche en utilisant la fonction LOCATE et la fonction REVERSE, comme démontré ci-dessous :

SELECT CHAR_LENGTH("Have_a_good_day") - LOCATE('_', REVERSE("Have_a_good_day"))+1;
Copier après la connexion

Cette expression calcule la dernière position d'index de la sous-chaîne spécifiée, qui dans cet exemple est le trait de soulignement (_).

Pour obtenir la sous-chaîne avant la dernière occurrence, utilisez :

SELECT LEFT("first_middle_last", CHAR_LENGTH("first_middle_last") - LOCATE('_', REVERSE("first_middle_last")));
Copier après la connexion

Cela renverra la chaîne "first_middle". Pour inclure le délimiteur, ajustez la requête comme suit :

SELECT LEFT("first_middle_last", CHAR_LENGTH("first_middle_last") - LOCATE('_', REVERSE("first_middle_last"))+1);
Copier après la connexion

Pour localiser la sous-chaîne après la dernière occurrence, considérez la fonction SUBSTRING_INDEX :

SELECT SUBSTRING_INDEX("first_middle_last", '_', -1);
Copier après la connexion

Cette expression donnera la sous-chaîne " dernier."

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 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