Maison > base de données > tutoriel mysql > Comment supprimer tous les caractères non alphanumériques d'une chaîne dans MySQL ?

Comment supprimer tous les caractères non alphanumériques d'une chaîne dans MySQL ?

PHPz
Libérer: 2023-08-29 15:41:02
avant
732 Les gens l'ont consulté

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

Les caractères non alphanumériques sont les suivants -

@,!,#,&,(),?, /
Copier après la connexion

Il n'existe pas de fonction intégrée dans MySQL pour supprimer les caractères non alphanumériques d'une chaîne. Par conséquent, nous créons une fonction qui supprime tous les caractères non alphanumériques. La déclaration et la définition de la fonction sont les suivantes.

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)
Copier après la connexion

La fonction nommée "RemoveNonAlphaNumeric" supprime tous les caractères non alphanumériques d'une chaîne. Pour vérifier, nous allons maintenant appeler la fonction définie par l'utilisateur.

mysql>delimiter ;
mysql>  select 'My Email id is test@123!',RemoveNonAlphaNumeric('My Email id is test@123!');
Copier après la connexion

Vous trouverez ci-dessous le résultat montrant la suppression réussie des caractères alphanumériques à l'aide de la fonction "RemoveNonAlphaNumeric".

+--------------------------+---------------------------------------------------+
| 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)
Copier après la connexion

Dans cette chaîne (MyEmailidistest123), il n'y a pas de @ et ! Il y a maintenant des symboles, ce qui signifie que la fonction fonctionne correctement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal