Zwei aufeinanderfolgende Ziffern in MySQL extrahieren
Die bereitgestellte SQL-Abfrage identifiziert erfolgreich Textfelder, die zwei aufeinanderfolgende Ziffern enthalten. Um diese Zahlen jedoch als separates Feld zu extrahieren, sollten Sie erwägen, zusätzliche Funktionen in die Abfrage zu integrieren.
Option 1: Verwendung von LIB_MYSQLUDF_PREG
Diese Open-Source-Bibliothek bietet erweiterte reguläre Funktionen Ausdrucksmöglichkeiten für MySQL. Es bietet Funktionen wie PREG_CAPTURE, die das Extrahieren von Übereinstimmungen aus einer Zeichenfolge ermöglichen. Installieren und konfigurieren Sie diese Bibliothek, um auf diese Funktionen zuzugreifen.
Option 2: Benutzerdefinierte Funktion für die Regex-Extraktion
Erstellen Sie eine benutzerdefinierte Funktion wie REGEXP_EXTRACT, um die längste passende Teilzeichenfolge zu extrahieren basierend auf einem bereitgestellten regulären Ausdruck. Diese Funktion kann fein abgestimmt werden, um bestimmte Anforderungen zu erfüllen, z. B. die Einbeziehung der Trennzeichen „^“ und „$“.
Die REGEXP_EXTRACT-Funktion kann an spezifische Anforderungen angepasst werden:
CREATE FUNCTION REGEXP_EXTRACT(string TEXT, exp TEXT) RETURNS TEXT DETERMINISTIC BEGIN ... (function code goes here) END
Zusätzliche Kriterien: Zahlen größer als 20
Sobald Sie die Zahlen als extrahiert haben können Sie in Ihrer Abfrage eine zusätzliche Filterung anwenden:
SELECT `id`, `number_extracted` FROM ( SELECT `id`, `originaltext` FROM `source` WHERE `originaltext` REGEXP '[0-9][0-9]' ) AS subquery WHERE `number_extracted` > 20
Diese erweiterte Abfrage gibt Zeilen zurück, in denen die extrahierten Zahlen 20 überschreiten. Durch die Kombination dieser Techniken können Sie Ihre MySQL-Abfrage verfeinern, um aufeinanderfolgende Ziffern zu extrahieren und zu bearbeiten nach Bedarf.
Das obige ist der detaillierte Inhalt vonWie kann ich aufeinanderfolgende Ziffern größer als 20 aus einem MySQL-Textfeld extrahieren und filtern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!