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;
Erklärung :
Beispiel:
Gegeben:
ORG | VALUE 1 | ABC_blahblahblah 2 | DEFGH_moreblahblahblah 3 | IJKLMNOP_moremoremoremore
Abfrage:
SELECT NVL(SUBSTR(VALUE, 0, INSTR(VALUE, '_')-1), VALUE) AS output FROM ORG;
Ergebnis:
OUTPUT ABC DEFGH IJKLMNOP
Hinweis:
Für In Oracle10g-Versionen kann die Funktion REGEXP_SUBSTR als Alternative zu SUBSTR:
SELECT REGEXP_SUBSTR(column, '^.*(?=_)') AS output FROM YOUR_TABLE;
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!