Heim > Datenbank > MySQL-Tutorial > Wie kann ich aufeinanderfolgende Ziffern größer als 20 aus einem MySQL-Textfeld extrahieren und filtern?

Wie kann ich aufeinanderfolgende Ziffern größer als 20 aus einem MySQL-Textfeld extrahieren und filtern?

DDD
Freigeben: 2024-11-30 18:37:14
Original
522 Leute haben es durchsucht

How Can I Extract and Filter Consecutive Digits Greater Than 20 from a MySQL Text Field?

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage