首頁 > 資料庫 > mysql教程 > 如何從 MySQL 中的字串中刪除所有非字母數字字元?

如何從 MySQL 中的字串中刪除所有非字母數字字元?

PHPz
發布: 2023-08-29 15:41:02
轉載
731 人瀏覽過

如何从 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板