Heim > Datenbank > MySQL-Tutorial > Wie extrahiere ich eine Teilzeichenfolge vor einem Unterstrich in Oracle SQL?

Wie extrahiere ich eine Teilzeichenfolge vor einem Unterstrich in Oracle SQL?

Linda Hamilton
Freigeben: 2024-12-27 13:27:08
Original
756 Leute haben es durchsucht

How to Extract a Substring Before an Underscore in Oracle SQL?

So extrahieren Sie eine Teilzeichenfolge bis zu einem bestimmten Zeichen in Oracle SQL

Die Identifizierung der Position eines Zeichens innerhalb einer Zeichenfolge kann eine häufige Herausforderung bei der Datenmanipulation sein. Um dies zu beheben, untersucht die Frage ein Szenario, in dem Teilzeichenfolgen bis zu einem bestimmten Zeichen, in diesem Fall dem Unterstrich („_“), aus einer Tabellenspalte extrahiert werden müssen.

Positionsbasierte Einschränkungen von SUBSTRING

Der anfängliche Ansatz, die SUBSTRING-Funktion zu verwenden, erweist sich als unzureichend, da sie auf einer positionsbasierten Auswahl beruht. Da die Position des Unterstrichs in den angegebenen Beispielen variiert, kann diese Methode den gewünschten Teilstring nicht konsistent abrufen.

Die RTRIM-Funktion: Eine vielversprechende, aber unvollständige Lösung

Die Betrachtung der RTRIM-Funktion soll Einen bestimmten Zeichensatz von der rechten Seite zu entfernen, erscheint zunächst vielversprechend. Es reicht jedoch nicht aus, die Zeichen vor dem Unterstrich zu isolieren, es sei denn, die RTRIM-Funktion wird in Verbindung mit einer anderen Methode verwendet.

Eine Kombination aus SUBSTR, INSTR und NVL

Die Lösung liegt durch die Kombination der SUBSTR-Funktion mit INSTR, das die Position des Zeichens identifiziert, und NVL, das Nullwerte verarbeitet. Der folgende Code demonstriert diesen Ansatz:

SELECT NVL(SUBSTR('ABC_blah', 0, INSTR('ABC_blah', '_')-1), 'ABC_blah') AS output
FROM DUAL
Nach dem Login kopieren

Grundlegendes zur Implementierung

  • Die SUBSTR-Funktion extrahiert eine Teilzeichenfolge basierend auf der angegebenen Startposition (0) und Länge (INSTR('ABC_blah ', '_')-1).
  • Die INSTR-Funktion findet das erste Vorkommen des Unterstrichs und subtrahiert 1, um die Zeichenindizierung zu berücksichtigen.
  • Die NVL-Funktion gibt die Teilzeichenfolge zurück, wenn sie gefunden wird (nicht null); andernfalls wird die ursprüngliche Zeichenfolge zurückgegeben.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich eine Teilzeichenfolge vor einem Unterstrich in Oracle SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage