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

Wie kann ich aufeinanderfolgende Ziffern aus einem MySQL-Textfeld extrahieren?

DDD
DDDOriginal
2024-12-05 06:56:10960Durchsuche

How Can I Extract Consecutive Digits from a MySQL Text Field?

Aufeinanderfolgende Ziffern aus einem MySQL-Textfeld extrahieren

Das Bearbeiten numerischer Daten aus einem Textfeld kann in MySQL eine Herausforderung sein. Um aufeinanderfolgende Ziffern aus einem solchen Feld zu extrahieren, wird empfohlen, MySQL-Funktionen oder externe Bibliotheken zu verwenden.

Verwendung der Bibliothek LIB_MYSQLUDF_PREG:

Die Bibliothek LIB_MYSQLUDF_PREG bietet leistungsstarke Funktionen für reguläre Ausdrücke. einschließlich PREG_CAPTURE für die Teilzeichenfolgenextraktion. Durch die Installation dieser Bibliothek in MySQL können Sie auf folgende Funktionen zugreifen:

  • PREG_CAPTURE(regex, string): Extrahiert den ersten passenden Teilstring aus dem String basierend auf dem angegebenen regulären Ausdruck.

Benutzerdefinierte Funktion für einfacher Extraktion:

Alternativ kann die folgende benutzerdefinierte MySQL-Funktion für die grundlegende Extraktion erstellt werden:

CREATE FUNCTION REGEXP_EXTRACT(string TEXT, exp TEXT)
RETURNS TEXT
DETERMINISTIC
BEGIN
  -- Extract longest matching substring adjusted for ^ or $ in regex

Verwendung:

Zu verwenden Rufen Sie diese Funktion wie folgt auf:

SELECT REGEXP_EXTRACT(originaltext, '[0-9][0-9]') AS extracted_digits
FROM source
WHERE originaltext regexp '[0-9][0-9]'

Dadurch wird aus jedem Treffer das erste passende Ziffernpaar extrahiert Originaltext. Bei Bedarf können der Abfrage zusätzliche Kriterien hinzugefügt werden, beispielsweise der Vergleich extrahierter Ziffern mit einem Wert.

Das obige ist der detaillierte Inhalt vonWie kann ich aufeinanderfolgende Ziffern aus einem MySQL-Textfeld extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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