Maison > Article > base de données > Comment trouver le dernier index d’une sous-chaîne dans MySQL ?
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.
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;
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")));
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!