Heim > Datenbank > MySQL-Tutorial > Wie extrahiere ich den n-ten Wert aus einer durch Kommas getrennten Zeichenfolge und verarbeite Nullen?

Wie extrahiere ich den n-ten Wert aus einer durch Kommas getrennten Zeichenfolge und verarbeite Nullen?

Patricia Arquette
Freigeben: 2025-01-01 05:31:09
Original
970 Leute haben es durchsucht

How to Extract the nth Value from a Comma-Separated String, Handling Nulls?

Extrahieren des n-ten Werts aus einer durch Kommas getrennten Liste mit Nullbehandlung

Bei Verwendung von REGEXP_SUBSTR() zum Extrahieren des n-ten Werts aus einer durch Kommas getrennten Liste Bei getrennten Listen kann der Umgang mit Nullwerten eine Herausforderung darstellen. Um dies zu erreichen, ist eine Änderung des regulären Ausdrucks erforderlich.

Der ursprüngliche Ausdruck, REGEXP_SUBSTR('1,,3,4,5', '[^,] ', 1, 2), gibt den zurück zweites Vorkommen eines oder mehrerer Zeichen, die kein Komma sind. Wenn jedoch eine Null auftritt, interpretiert es diese als Beginn eines neuen, nicht leeren Werts und gibt das dritte Element anstelle der erwarteten Null zurück.

Um dies zu beheben, wird der Ausdruck geändert, um Null oder zuzulassen weitere Nicht-Komma-Zeichen: REGEXP_SUBSTR('1,,3,4,5', '(.*?)(,|$)', 1, 2, NULL, 1). Er identifiziert den gewünschten Wert, indem er entweder nach null oder mehr Zeichen sucht, gefolgt von einem Komma oder dem Ende der Zeile, und gibt nur die erste Untergruppe (die gewünschten Daten) zurück.

Dieser erweiterte Ausdruck verarbeitet Nullen korrekt und gibt zurück null, wenn das zweite Element leer ist. Die Funktion GET_LIST_ELEMENT() kapselt diese Logik zur einfacheren Wiederverwendung:

  FUNCTION  GET_LIST_ELEMENT(string_in VARCHAR2, element_in NUMBER, delimiter_in VARCHAR2 DEFAULT ',') RETURN VARCHAR2 IS
    BEGIN
      RETURN REGEXP_SUBSTR(string_in, '(.*?)(\'||delimiter_in||'|$)', 1, element_in, NULL, 1);
  END GET_LIST_ELEMENT;
Nach dem Login kopieren

Dieser Ansatz berücksichtigt Nullen und ermöglicht die Auswahl eines beliebigen Werts aus der Liste.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich den n-ten Wert aus einer durch Kommas getrennten Zeichenfolge und verarbeite Nullen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage