Maison  >  Article  >  base de données  >  Comment trouver le dernier index d’une sous-chaîne dans MySQL ?

Comment trouver le dernier index d’une sous-chaîne dans MySQL ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-10 14:45:02960parcourir

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

MySQL : Trouver le dernier index d'une sous-chaîne

Dans MySQL, la fonction INSTR() peut être utilisée pour déterminer l'index de la première occurrence d'une sous-chaîne. Cependant, s'il est nécessaire de connaître l'index de la dernière occurrence, aucune fonction intégrée ne répond facilement à cette exigence.

En utilisant REVERSE() et LOCATE()

Comme approche alternative, une combinaison des fonctions REVERSE() et LOCATE() peut être utilisée pour trouver la dernière occurrence d'un caractère ou d'une sous-chaîne. La stratégie consiste à inverser la chaîne, à identifier l'index à l'aide de LOCATE(), puis à soustraire le résultat de la longueur de la chaîne d'origine.

Par exemple, l'instruction suivante récupère le dernier index du caractère de soulignement dans la chaîne " Have_a_good_day":

SELECT CHAR_LENGTH("Have_a_good_day") - LOCATE('_', REVERSE("Have_a_good_day"))+1;

Extraire la partie gauche de la chaîne

Pour extraire la partie gauche de la chaîne avant la dernière occurrence du délimiteur, utilisez :

SELECT LEFT("first_middle_last", CHAR_LENGTH("first_middle_last") - LOCATE('_', REVERSE("first_middle_last")));

Sélection de la bonne partie de la chaîne

Pour isoler la partie droite de la chaîne après la dernière occurrence du délimiteur, une alternative utilisant la fonction SUBSTRING_INDEX() est recommandée :

SELECT SUBSTRING_INDEX("first_middle_last", '_', -1);

Bien qu'il serait pratique pour LOCATE() d'inclure une option de recherche à partir du à droite, ces techniques fournissent des solutions efficaces pour obtenir le dernier index d'une sous-chaîne dans MySQL.

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