Das Aufteilen einer Zeichenfolge an einer bestimmten Trennzeichenposition ist eine häufige Anforderung bei Datenbearbeitungsaufgaben. Die INSTR- und SUBSTR-Funktionen in Oracle SQL bieten einen einfachen Ansatz, um dies zu erreichen.
In Ihrem Fall wollten Sie die Zeichenfolge „F/P/O“ am weitesten Trennzeichen aufteilen, in diesem Fall das letzter Schrägstrich (/). In Ihrer ursprünglichen SQL-Anweisung fehlte zwar größtenteils das kritische start_position-Argument in der INSTR-Funktion.
SELECT Substr('F/P/O', 1, Instr('F/P/O', '/') - 1) part1, Substr('F/P/O', Instr('F/P/O', '/') + 1) part2 FROM dual
Durch die Angabe einer negativen start_position in INSTR können wir vom Ende der Zeichenfolge zurückzählen. In Ihrem Fall würde die Verwendung von -1 das letzte Vorkommen des Trennzeichens berücksichtigen.
SELECT SUBSTR(str, 1, Instr(str, '/', -1, 1) -1) part1, SUBSTR(str, Instr(str, '/', -1, 1) +1) part2 FROM DATA
Diese geänderte Abfrage teilt die Zeichenfolge „F/P/O“ korrekt am letzten Schrägstrich auf, was zu Folgendem führt:
PART1 PART2 ----- ----- F/P O
Das obige ist der detaillierte Inhalt vonWie teile ich eine Zeichenfolge beim letzten Vorkommen eines Trennzeichens in Oracle SQL auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!