Heim >Datenbank >MySQL-Tutorial >Wie kann ich aufeinanderfolgende Ziffern aus MySQL-Textfeldern extrahieren?
Aufeinanderfolgende Ziffern aus MySQL-Textfeldern extrahieren
Um aufeinanderfolgende Ziffern effektiv aus Textfeldern in MySQL zu extrahieren, gibt es mehrere Ansätze:
Verwendung regulärer Ausdrücke:
MySQL Die integrierte Unterstützung für reguläre Ausdrücke kann verwendet werden, um das Vorkommen zweier aufeinanderfolgender Ziffern in einem Textfeld zu erkennen. Diese Methode extrahiert die Ziffern jedoch nicht als separates Feld.
Benutzerdefinierte Funktion mit PCRE:
Für erweiterte Funktionen für reguläre Ausdrücke sollten Sie die Implementierung von LIB_MYSQLUDF_PREG in Betracht ziehen. Diese Open-Source-Bibliothek bietet Funktionen wie PREG_CAPTURE, PREG_POSITION, PREG_REPLACE und PREG_RLIKE, die das Extrahieren bestimmter Übereinstimmungen aus einer Zeichenfolge ermöglichen.
Benutzerdefinierte Funktion:
Ein alternativer Ansatz besteht darin, eine benutzerdefinierte Funktion wie REGEXP_EXTRACT zu erstellen, um die längste Teilzeichenfolge zu extrahieren, die dem gewünschten regulären Ausdrucksmuster entspricht. Mit dieser Funktion können Sie Start- und Endpositionsanpassungen festlegen, um Ziffern zu erfassen, ohne zusätzliche Zeichen einzubeziehen.
Zusätzliche Kriterien:
Wenn Sie die extrahierten Ziffern nach a filtern müssen B. größer als 20, können Sie in Ihrer MySQL-Abfrage zusätzliche Kriterien anwenden, nachdem Sie die Ziffern als a erhalten haben Feld.
Beispiel:
Betrachten Sie die folgende benutzerdefinierte Funktionsimplementierung:
CREATE FUNCTION REGEXP_EXTRACT(string TEXT, exp TEXT) RETURNS TEXT DETERMINISTIC BEGIN ... ... END
Sie können diese Funktion dann in Ihrer Abfrage verwenden, um zwei zu extrahieren aufeinanderfolgende Ziffern aus dem Originaltextfeld und filtern Sie sie nach Wert:
SELECT `id`, REGEXP_EXTRACT(`originaltext`, '[0-9][0-9]') AS `digits` FROM `source` WHERE `digits` > 20;
Das obige ist der detaillierte Inhalt vonWie kann ich aufeinanderfolgende Ziffern aus MySQL-Textfeldern extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!