Heim  >  Artikel  >  Datenbank  >  Wie finde ich das letzte Vorkommen eines Teilstrings in MySQL?

Wie finde ich das letzte Vorkommen eines Teilstrings in MySQL?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-10 21:08:02360Durchsuche

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

Bestimmen des letzten Vorkommens eines Teilstrings in MySQL

MySQL bietet die Funktion INSTR(), um die erste Instanz eines Teilstrings innerhalb eines Strings zu identifizieren. Das Auffinden des letzten Vorkommens stellt jedoch eine Herausforderung dar, da es keine integrierte Funktion gibt, die ausschließlich für diesen Zweck vorgesehen ist.

Lösung:

MySQL bietet eine alternative Methode, um dies zu erreichen Führen Sie diese Aufgabe mithilfe der LOCATE-Funktion und der REVERSE-Funktion aus, wie unten gezeigt:

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

Dieser Ausdruck berechnet die letzte Indexposition der angegebenen Teilzeichenfolge, die in diesem Beispiel ist der Unterstrich (_).

Um die Teilzeichenfolge vor dem letzten Vorkommen zu erhalten, verwenden Sie:

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

Dadurch wird die Zeichenfolge „first_middle“ zurückgegeben. Um das Trennzeichen einzubeziehen, passen Sie die Abfrage wie folgt an:

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

Zum Auffinden der Teilzeichenfolge nach dem letzten Vorkommen verwenden Sie die Funktion SUBSTRING_INDEX:

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

Dieser Ausdruck ergibt die Teilzeichenfolge „ zuletzt.“

Das obige ist der detaillierte Inhalt vonWie finde ich das letzte Vorkommen eines Teilstrings in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn