Extrahieren numerischer Zeichen aus MySQL-Daten für genaue Vergleiche
Zum Vergleich mit bestimmten numerischen Werten in einer MySQL-Tabelle, in der Datenbankeinträge möglicherweise keine enthalten -numerische Zeichen, ist eine zuverlässige Methode erforderlich, um diese nicht numerischen Zeichen zu entfernen. Während PHP-Funktionen wie preg_replace eine praktische Lösung bieten, erfordert MySQL einen nativen Ansatz.
MySQL-Funktion zum Entfernen von Nichtziffern
Um diese Aufgabe effektiv auszuführen, ist das folgende MySQL Funktion kann erstellt werden:
CREATE FUNCTION STRIP_NON_DIGIT(input VARCHAR(255)) RETURNS VARCHAR(255) BEGIN DECLARE output VARCHAR(255) DEFAULT ''; DECLARE iterator INT DEFAULT 1; WHILE iterator < (LENGTH(input) + 1) DO IF SUBSTRING(input, iterator, 1) IN ( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ) THEN SET output = CONCAT(output, SUBSTRING(input, iterator, 1)); END IF; SET iterator = iterator + 1; END WHILE; RETURN output; END
Verwendung
Zu Verwenden Sie die STRIP_NON_DIGIT-Funktion in einer Abfrage, wenden Sie sie einfach wie folgt auf die Zielspalte an:
SELECT * FROM foo WHERE STRIP_NON_DIGIT(bar) = '12345';
Diese Abfrage ruft Datensätze ab, bei denen die Balkenspalte, nachdem ihre nicht numerischen Zeichen entfernt wurden, mit der Eingabe des Benutzers übereinstimmt von '12345'.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich numerische Zeichen aus MySQL-Daten für genaue Vergleiche?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!