Heim >Datenbank >MySQL-Tutorial >Wie extrahiere ich Teilzeichenfolgen in Oracle SQL bis zu einem bestimmten Zeichen?

Wie extrahiere ich Teilzeichenfolgen in Oracle SQL bis zu einem bestimmten Zeichen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-28 13:30:15809Durchsuche

How to Extract Substrings in Oracle SQL Up to a Specific Character?

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

  • [SUBSTR](https://docs.oracle.com/cd/B28359_01/appd ev.111/b28396/functions148.htm#CHDBCHCJ)
  • [INSTR](https://docs.oracle.com/cd/B28359 _01/appdev.111/b28396/functions152.htm#CHDBCHCL)
  • [NVL](https://docs.oracle.com/cd/ B28359_01/appdev.111/b28396/functions060.htm#SQLRF00120)

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!

Stellungnahme:
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