Auswahl von Teilzeichenfolgen in Oracle SQL bis zu einem bestimmten Zeichen
In vielen Datenbankanwendungen ist es häufig erforderlich, nur einen Teil von a auszuwählen Zeichenfolgenspalte basierend auf einem bestimmten Trennzeichen. In Oracle SQL kann das Extrahieren von Teilzeichenfolgen bis zu einem bestimmten Zeichen aufgrund der positionsbasierten Natur der SUBSTRING-Funktion eine Herausforderung darstellen. Dieser Artikel befasst sich mit diesem Problem, indem er eine umfassende Lösung vorstellt, die Teilzeichenfolgen basierend auf einem festgelegten Trennzeichen genau erfasst.
LÖSUNG
Zum Isolieren von Teilzeichenfolgen bis zu einem bestimmten Zeichen, einer Kombination Es können drei Funktionen verwendet werden: SUBSTR, INSTR und NVL. SUBSTR ermöglicht die Extraktion eines Teils einer Zeichenfolge basierend auf Start- und Endpositionen. INSTR hingegen identifiziert die Position einer angegebenen Teilzeichenfolge oder eines bestimmten Zeichens innerhalb einer bestimmten Zeichenfolge. NVL dient als Fallback-Mechanismus und gibt die ursprüngliche Zeichenfolge zurück, wenn das angegebene Zeichen nicht gefunden wird.
Betrachten Sie beispielsweise die folgende Tabellenspalte mit Werten:
ABC_blahblahblah DEFGH_moreblahblahblah IJKLMNOP_moremoremoremore
Um nur die Teilzeichenfolgen abzurufen Bis zum Unterstrichzeichen kann folgende Abfrage verwendet werden:
SELECT NVL(SUBSTR(column, 0, INSTR(column, '_')-1), column) AS output FROM table_name;
Bei dieser Abfrage sorgt die NVL-Funktion dafür, dass auch Zeichenfolgen ohne Unterstrichzeichen vorhanden sind zurückgegeben, allerdings mit dem Original Wert.
REFERENZ
ADDENDUM
In In Oracle 10g und späteren Versionen kann die Funktion REGEXP_SUBSTR für eine flexiblere Teilzeichenfolgenextraktion mithilfe regulärer Ausdrücke verwendet werden.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich Teilzeichenfolgen in Oracle SQL bis zu einem bestimmten Zeichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!