Heim >Datenbank >MySQL-Tutorial >Wie extrahiere ich Teilzeichenfolgen vor einem Unterstrich 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;
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;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!