Heim >Datenbank >MySQL-Tutorial >Wie kann ich eine Zeichenfolge in Oracle SQL basierend auf der Position des am weitesten entfernten Trennzeichens aufteilen?

Wie kann ich eine Zeichenfolge in Oracle SQL basierend auf der Position des am weitesten entfernten Trennzeichens aufteilen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-06 00:50:40779Durchsuche

How Can I Split a String in Oracle SQL Based on the Furthest Delimiter's Position?

Aufteilen von Zeichenfolgen nach Trennzeichenposition in Oracle SQL

Mit der INSTR-Funktion in Oracle SQL können Sie Zeichenfolgen basierend auf bestimmten Positionen von Trennzeichen aufteilen. Dies ist besonders nützlich, wenn Sie bestimmte Teile einer Zeichenfolge extrahieren müssen. Betrachten Sie beispielsweise die Zeichenfolge „F/P/O“. Wenn Sie diese Zeichenfolge am weitesten Trennzeichen aufteilen möchten, ist das erwartete Ergebnis „F/P“ und „O“.

Um dies mit Oracle SQL zu erreichen, können Sie die folgende Anweisung nutzen:

SELECT
  SUBSTR(str, 1, INSTR(str, '/', -1, 1) - 1) AS part1,
  SUBSTR(str, INSTR(str, '/', -1, 1) + 1) AS part2
FROM data

Diese Anweisung nutzt die negative start_position in INSTR, um vom Ende der Zeichenfolge zurück zu zählen und das am weitesten entfernte Trennzeichen zu finden. Anschließend wird die SUBSTR-Funktion verwendet, um die Teilzeichenfolgen vor und nach dem Trennzeichen zu extrahieren.

Unerwartete Ergebnisse beheben

Bei Ihrer ersten Abfrage ist das unerwartete Ergebnis möglicherweise auf Sie zurückzuführen Möglicherweise wurde die start_position im INSTR-Aufruf weggelassen. Durch Anpassen der Startposition auf einen negativen Wert wird sichergestellt, dass die Funktion vom Ende der Zeichenfolge nach dem am weitesten entfernten Trennzeichen sucht.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Zeichenfolge in Oracle SQL basierend auf der Position des am weitesten entfernten 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