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!