如何从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 //

名为“ 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中的字符串中删除所有非字母数字字符? 的全部内容, 来源链接: utcz.com/z/354337.html

回到顶部