Heim > Datenbank > MySQL-Tutorial > Wie kann ich aufeinanderfolgende Ziffern aus MySQL-Textfeldern extrahieren?

Wie kann ich aufeinanderfolgende Ziffern aus MySQL-Textfeldern extrahieren?

Linda Hamilton
Freigeben: 2024-11-30 15:15:13
Original
342 Leute haben es durchsucht

How Can I Extract Consecutive Digits from MySQL Text Fields?

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

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

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!

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