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!