Heim > Datenbank > MySQL-Tutorial > Wie entferne ich alle nicht alphanumerischen Zeichen aus einer Zeichenfolge in MySQL?

Wie entferne ich alle nicht alphanumerischen Zeichen aus einer Zeichenfolge in MySQL?

PHPz
Freigeben: 2023-08-29 15:41:02
nach vorne
732 Leute haben es durchsucht

如何从 MySQL 中的字符串中删除所有非字母数字字符?

Nicht-alphanumerische Zeichen sind wie folgt -

@,!,#,&,(),?, /
Nach dem Login kopieren

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

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

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

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!

Quelle:tutorialspoint.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage