Heim >Datenbank >MySQL-Tutorial >Wie teile ich eine Zeichenfolge beim letzten Vorkommen eines Trennzeichens in Oracle SQL auf?

Wie teile ich eine Zeichenfolge beim letzten Vorkommen eines Trennzeichens in Oracle SQL auf?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-05 14:56:44136Durchsuche

How to Split a String at the Last Occurrence of a Delimiter in Oracle SQL?

Aufteilen von Zeichenfolgen an einer bestimmten Trennzeichenposition mit Oracle SQL

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!

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