Nicht-alphanumerische Zeichen sind wie folgt -
@,!,#,&,(),?, /
In MySQL gibt es keine integrierte Funktion zum Entfernen nicht-alphanumerischer Zeichen aus einer Zeichenfolge. Deshalb erstellen wir eine Funktion, die alle nicht alphanumerischen Zeichen entfernt. Die Funktionsdeklaration und -definition lauten wie folgt.
mysql> delimiter // mysql> CREATE FUNCTION RemoveNonAlphaNumeric( s CHAR(255) ) RETURNS CHAR(255) DETERMINISTIC -> BEGIN -> DECLARE var1, length SMALLINT DEFAULT 1; -> DECLARE result CHAR(255) DEFAULT ''; -> DECLARE ch CHAR(1); -> SET length = CHAR_LENGTH( s ); -> REPEAT -> BEGIN -> SET ch = MID( s, var1, 1 ); -> IF ch REGEXP '[[:alnum:]]' THEN -> SET result =CONCAT(result ,ch); -> END IF; -> SET var1 = var1 + 1; -> END; -> UNTIL var1 >length END REPEAT; -> RETURN result ; -> END // Query OK, 0 rows affected (0.10 sec)
Die Funktion mit dem Namen „RemoveNonAlphaNumeric“ entfernt alle nicht alphanumerischen Zeichen aus einer Zeichenfolge. Zur Überprüfung rufen wir nun die benutzerdefinierte Funktion auf.
mysql>delimiter ; mysql> select 'My Email id is test@123!',RemoveNonAlphaNumeric('My Email id is test@123!');
Unten sehen Sie die Ausgabe, die die erfolgreiche Entfernung alphanumerischer Zeichen mit der Funktion „RemoveNonAlphaNumeric“ zeigt.
+--------------------------+---------------------------------------------------+ | My Email id is test@123! | removeNonAlphaNumeric('My Email id is test@123!') | +--------------------------+---------------------------------------------------+ | My Email id is test@123! | MyEmailidistest123 | +--------------------------+---------------------------------------------------+ 1 row in set (0.15 sec)
In dieser Zeichenfolge (MyEmailidistest123) gibt es kein @ und ! Es gibt jetzt Symbole, was bedeutet, dass die Funktion einwandfrei funktioniert.
Das obige ist der detaillierte Inhalt vonWie entferne ich alle nicht alphanumerischen Zeichen aus einer Zeichenfolge in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!