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

Wie extrahiere ich Teilzeichenfolgen vor einem Unterstrich in Oracle SQL?

Patricia Arquette
Freigeben: 2024-12-29 00:26:09
Original
432 Leute haben es durchsucht

How to Extract Substrings Before an Underscore in Oracle SQL?

Extrahieren von Teilzeichenfolgen zu einem bestimmten Zeichen in Oracle SQL

Problem:
Auswählen von Teilzeichenfolgen aus einer Spalte, die zuvor Ergebnisse mit unterschiedlichen Zeichenfolgen enthält ein Unterstrichzeichen („_“), wobei der Unterstrich ausgeschlossen wird selbst.

Lösung:

Um das gewünschte Ergebnis zu erzielen, bietet eine Kombination von SQL-Funktionen eine Lösung:

SELECT NVL(SUBSTR(column, 0, INSTR(column, '_')-1), column) AS output
FROM YOUR_TABLE;
Nach dem Login kopieren

Erklärung :

  • Die SUBSTR-Funktion extrahiert eine Teilzeichenfolge beginnend an der angegebenen Position (0) und fortlaufend für eine angegebene Länge.
  • Die INSTR-Funktion bestimmt die Position des ersten Vorkommens des Unterstrichs innerhalb der Zeichenfolge.
  • Die NVL-Funktion wertet den ersten Nicht-Null-Wert aus und stellt so sicher, dass Teilzeichenfolgen keinen Unterstrich enthalten Das Zeichen gibt den ursprünglichen Wert zurück.
  • Die Subtraktion von 1 von INSTR(Spalte, '_') stellt sicher, dass nur Zeichen vor dem Unterstrich enthalten sind im Ausgabe.

Beispiel:

Gegeben:

ORG | VALUE
1   | ABC_blahblahblah
2   | DEFGH_moreblahblahblah
3   | IJKLMNOP_moremoremoremore
Nach dem Login kopieren

Abfrage:

SELECT NVL(SUBSTR(VALUE, 0, INSTR(VALUE, '_')-1), VALUE) AS output
FROM ORG;
Nach dem Login kopieren

Ergebnis:

OUTPUT
ABC
DEFGH
IJKLMNOP
Nach dem Login kopieren

Hinweis:

Für In Oracle10g-Versionen kann die Funktion REGEXP_SUBSTR als Alternative zu SUBSTR:

SELECT REGEXP_SUBSTR(column, '^.*(?=_)') AS output
FROM YOUR_TABLE;
Nach dem Login kopieren
verwendet werden

Das obige ist der detaillierte Inhalt vonWie extrahiere ich Teilzeichenfolgen 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