Heim >Datenbank >MySQL-Tutorial >Wie extrahiere ich Teilzeichenfolgen in Oracle SQL vor einem bestimmten Zeichen?
Abrufen von Teilzeichenfolgen bis zu einem bestimmten Zeichen in Oracle SQL
Das Auswählen von Teilzeichenfolgen aus einer Tabellenspalte, aber die Beschränkung des Bereichs auf ein bestimmtes Zeichen kann sein herausfordernd. Stellen Sie sich ein Szenario vor, in dem Sie eine Spalte mit Werten haben, die als „ABC_blahblahblah“ formatiert sind. Ziel ist es, nur den Teil vor dem Unterstrich zu extrahieren.
Die SUBSTRING-Funktion, die auf einer positionsbasierten Auswahl basiert, reicht nicht aus, da die Position des Unterstrichs variiert. RTRIM, das darauf abzielt, bestimmte Zeichen vom Ende einer Zeichenfolge zu entfernen, entspricht nicht genau der Anforderung.
Um dieser Herausforderung zu begegnen, kann eine Kombination von Oracle SQL-Funktionen eingesetzt werden. Durch die Nutzung von SUBSTR, INSTR und NVL können wir die gewünschten Ergebnisse erzielen:
SELECT NVL(SUBSTR('ABC_blah', 0, INSTR('ABC_blah', '_')-1), 'ABC_blah') AS output FROM DUAL
Erklärung:
Verwendung:
SELECT NVL(SUBSTR(t.column, 0, INSTR(t.column, '_')-1), t.column) AS output FROM YOUR_TABLE t
In Oracle10g kann REGEXP_SUBSTR verwendet werden um einen regulären Ausdrucksabgleich durchzuführen und so einen alternativen Ansatz zum Extrahieren der gewünschten Teilzeichenfolge bereitzustellen.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich Teilzeichenfolgen in Oracle SQL vor einem bestimmten Zeichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!