Entfernen nicht numerischer Zeichen in MySQL, um Vergleiche zu erleichtern
Um passende Datensätze basierend auf numerischen Eingaben von Benutzern zu finden, ist eine Berücksichtigung erforderlich nicht numerische Zeichen in Datenbankwerten. In diesem Artikel wird eine MySQL-Funktion untersucht, um diese nicht numerischen Zeichen zu entfernen und genaue Vergleiche zu ermöglichen.
Problemstellung
Gegeben sei eine Tabelle mit einem Feld, das Zahlen enthält, die möglicherweise mit nicht durchsetzt sind -numerische Zeichen, die Aufgabe besteht darin, Datensätze zu finden, die einer bestimmten vom Benutzer eingegebenen numerischen Eingabe entsprechen.
MySQL-Funktion: STRIP_NON_DIGIT
Um dieses Problem zu lösen, kann eine MySQL-Funktion namens STRIP_NON_DIGIT erstellt werden:
DROP FUNCTION IF EXISTS STRIP_NON_DIGIT; DELIMITER $$ 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 $$
Arbeitsbeispiel
Zur Verwendung der STRIP_NON_DIGIT-Funktion, führt SQL-Abfragen wie die aus Folgendes:
SELECT * FROM foo WHERE STRIP_NON_DIGIT(bar) = '12345';
Diese Abfrage gibt Datensätze aus der Tabelle „foo“ zurück, bei denen der Wert im Feld „bar“, ohne nicht numerische Zeichen, mit „12345“ übereinstimmt, das vom Benutzer eingegeben wurde.
Vorteile
Diese Funktion bietet eine einfache und effiziente Lösung für das Problem des Vergleichs numerischer Werte mit nicht numerische Zeichen in MySQL-Datenbanken. Es macht komplexe reguläre Ausdrücke oder PHP-Funktionen überflüssig und ist einfach zu implementieren.
Das obige ist der detaillierte Inhalt vonWie vergleiche ich numerische Daten effizient mit nicht-numerischen Zeichen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!