Heim >Datenbank >MySQL-Tutorial >Wie kann ich eine Zeichenfolge in Oracle SQL beim weitesten Vorkommen eines Trennzeichens aufteilen?

Wie kann ich eine Zeichenfolge in Oracle SQL beim weitesten Vorkommen eines Trennzeichens aufteilen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-05 10:51:38838Durchsuche

How Can I Split a String in Oracle SQL at the Furthest Occurrence of a Delimiter?

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!

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