Maison  >  Article  >  base de données  >  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
Patricia Arquetteoriginal
2024-11-10 21:08:02360parcourir

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;

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")));

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

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

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