Reguläre Ausdrücke in DB2 SQL

8

(Anders als mit einer UDF) Jede REGEXP-In-SQL-Unterstützung für DB2 9.7?

    
Samer Buna 21.01.2011, 21:00
quelle

5 Antworten

2

Es gibt keine integrierte Unterstützung für reguläre Ausdrücke in DB2 9.7.

Die einzige Möglichkeit besteht darin, UDFs oder Tabellenfunktionen zu verwenden, wie im Artikel "OMG Ponies" im Kommentar beschrieben.

@ dan1111: Ich schätze es nicht, dass mein Post bearbeitet wird, besonders wenn Leute die Frage nicht richtig lesen können. Das OP hat nach Any REGEXP-In SQL Unterstützung für DB2 9.7

gefragt

SQL ist nicht XQuery !!!

Entschuldigung, löschen Sie nicht den Text meiner 100% korrekten Antwort. Sie können einen Kommentar hinzufügen oder Ihre eigene Antwort schreiben.

    
tessus 21.01.2011, 21:15
quelle
6

Ich bin Komikoni (Keisuke Konishi).

Ich habe die Funktion für reguläre Ausdrücke (UDF) erstellt, die in db2 nicht existiert. Die UDF verwendet das SQL / XML (Xquery). Sie können leicht installieren.

Liste der regulären Ausdrücke bieten UDF

  1. REG_MATCHES liefert Koinzidenz Existenz (Scalar)
  2. REG_REPLACE String-Substitution (Skalar)
  3. REG_COUNT Anzahl der gefundenen Treffer (Scalar)
  4. REG_POSITION Match-Positionserfassung (Scalar)
  5. REG_SUBSTR Ruft eine Zeichenfolge ab, die übereinstimmt (Skalar)
  6. REG_SUBSTR_TABLE Liste der übereinstimmenden String-Informationen (Tabelle)
  7. REG_TOKENIZE_TABLE Liste nicht übereinstimmender String-Informationen (dividiert durch eine Trennzeichenfolge) (Tabelle)
  8. REG_ALLTOKEN_TABLE Liste der nicht übereinstimmenden Zeichenfolge und übereinstimmenden Zeichenfolge Informationen (Tabelle)

Skripte können von hier heruntergeladen werden. (Entschuldigung auf Japanisch)

Ссылка

(Englisch: Maschinelle Übersetzung Skript: Das letzte einer japanischen Seite)

Ich freue mich auf Ihre Rückmeldungen und Kommentare.

    
komikoni 27.11.2011 17:36
quelle
6

Die wirkliche Antwort ist, dass DB2 reguläre Ausdrücke unterstützt, seit PureXML hinzugefügt wurde (einschließlich Version 9.7) über xQuery mit der Übereinstimmungsfunktion.

Zum Beispiel:

%Vor%

Weitere Informationen:

AngocA 28.04.2014 12:36
quelle
5

Das funktioniert gut außer für DB2 z / OS - in DB2 v10 z / OS müssen Sie PASSING wie folgt verwenden

%Vor%     
AidanH 02.12.2015 16:49
quelle
4

Ab DB2 11.1 gibt es eine integrierte Regex-Unterstützung. Eine der neuen Funktionen ist REGEXP_SUBSTR und es gibt noch mehr.

%Vor%     
data_henrik 22.07.2016 09:27
quelle

Tags und Links