Heim >Datenbank >MySQL-Tutorial >Wie extrahiere ich aufeinanderfolgende Ziffern aus einem MySQL-Textfeld und wende zusätzliche Kriterien an?
Aufeinanderfolgende Ziffern aus einem MySQL-Textfeld extrahieren
In MySQL kann die folgende Abfrage Textfelder erkennen, die zweistellige Zahlen enthalten:
SELECT `id`, `originaltext` FROM `source` WHERE `originaltext` regexp '[0-9][0-9]'
Um diese Zahlen jedoch als separates Feld zu bearbeiten, ist eine weitere Verarbeitung erforderlich. Hier sind zwei mögliche Lösungen:
Verwendung von LIB_MYSQLUDF_PREG
LIB_MYSQLUDF_PREG ist eine MySQL-Bibliothek, die die Funktionalität regulärer Ausdrücke erweitert. Es führt Funktionen wie PREG_CAPTURE ein, mit denen Übereinstimmungen aus einer Zeichenfolge extrahiert werden können.
Um diese Bibliothek verwenden zu können, müssen Sie sie auf Ihrem MySQL-Server installieren. Nach der Installation können Sie die folgende Abfrage verwenden, um aufeinanderfolgende Ziffern zu extrahieren:
SELECT `id`, PREG_CAPTURE('[0-9][0-9]', `originaltext`) AS `digits` FROM `source`
Verwenden einer benutzerdefinierten MySQL-Funktion
Alternativ können Sie eine benutzerdefinierte MySQL-Funktion definieren führt die Extraktion durch. Die folgende Funktion extrahiert beispielsweise die erste längste übereinstimmende Ziffernfolge:
CREATE FUNCTION REGEXP_EXTRACT(string TEXT, exp TEXT) RETURNS TEXT DETERMINISTIC BEGIN DECLARE s INT DEFAULT 1; ... -- Implementation to extract the matching digits ... END
Um diese Funktion zu verwenden, rufen Sie sie wie folgt auf:
SELECT `id`, REGEXP_EXTRACT(`originaltext`, '[0-9][0-9]') AS `digits` FROM `source`
Zusätzliche Kriterien ( Zahlen > 20)
Um das Kriterium hinzuzufügen, dass die Zahlen größer als 20 sein sollten, fügen Sie einfach diese Bedingung hinzu die WHERE-Klausel einer der beiden Abfragen:
WHERE `digits` > 20
Das obige ist der detaillierte Inhalt vonWie extrahiere ich aufeinanderfolgende Ziffern aus einem MySQL-Textfeld und wende zusätzliche Kriterien an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!