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

PHPz
发布: 2023-08-29 15:41:02
转载
647 人浏览过

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

非字母数字字符如下 -

@,!,#,&,(),?, /
登录后复制

MySQL 中没有内置函数可以从字符串中删除非字母数字字符。因此,我们创建一个删除所有非字母数字字符的函数。函数声明和定义如下。

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)
登录后复制

名为“RemoveNonAlphaNumeric”的函数从字符串中删除所有非字母数字字符。为了进行检查,我们现在将调用用户定义的函数。

mysql>delimiter ; mysql> select 'My Email id is test@123!',RemoveNonAlphaNumeric('My Email id is test@123!');
登录后复制

以下是显示使用函数“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)
登录后复制

在此字符串(MyEmailidistest123)中,没有@和!现在有符号,这意味着该功能工作正常。

以上是如何从 MySQL 中的字符串中删除所有非字母数字字符?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!