非字母數字字元如下 -
@,!,#,&,(),?, /
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中文網其他相關文章!