Heim >Datenbank >MySQL-Tutorial >Wie kann ich eine Zeichenfolge in Oracle SQL beim weitesten Vorkommen eines Trennzeichens aufteilen?
Aufteilen von Zeichenfolgen nach Trennzeichenposition mit Oracle SQL
Ähnlich wie in einem anderen Beitrag besteht die Anforderung darin, eine Zeichenfolge nach dem am weitesten entfernten Vorkommen von a zu teilen Trennzeichen. Der Hauptunterschied besteht darin, dass das Trennzeichen nicht immer die erste, sondern die am weitesten entfernte Instanz ist.
Um dies zu erreichen, können die Funktionen SUBSTR und INSTR verwendet werden. Instr(str, '/', -1, 1) ermittelt die Position des am weitesten entfernten Trennzeichens, während -1 angibt, dass die Suche vom Ende der Zeichenfolge zum Anfang beginnen soll.
Es ist jedoch ein Fehler aufgetreten das bereitgestellte Beispiel aufgrund des Fehlens von start_position in der INSTR-Funktion. Durch Hinzufügen von start_position = -1 findet die INSTR-Funktion erfolgreich das am weitesten entfernte Trennzeichen und teilt die Zeichenfolge entsprechend auf.
Hier ist der geänderte Code:
WITH DATA AS ( SELECT 'F/P/O' str FROM dual ) SELECT SUBSTR(str, 1, Instr(str, '/', -1, 1) -1) part1, SUBSTR(str, Instr(str, '/', -1, 1) +1) part2 FROM DATA
Diese Änderung stellt sicher, dass der Code korrekt aufgeteilt wird die Zeichenfolge an der gewünschten Trennzeichenposition, was zur korrekten Ausgabe von „F/P“ und „O“ für die angegebene Zeichenfolge „F/P/O“ führt.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Zeichenfolge in Oracle SQL beim weitesten Vorkommen eines Trennzeichens aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!