如何从MySQL中的数据库字段中删除特殊字符?

您可以使用REPLACE()函数从数据库字段中删除特殊字符。特殊字符是双引号(“”),数字符号(#),美元符号($),百分比(%)等。

语法如下,以从数据库字段中删除特殊字符。

UPDATE yourTableName
SET yourColumnName=REPLACE(yourColumnName,’yourSpecialCharacters’,’’);

为了理解上述语法,让我们创建一个表。创建表的查询如下:

mysql> create table RemoveSpecialCharacterDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(20),
   -> PRIMARY Key(Id)
   -> );

使用insert命令在表中插入一些记录。查询如下:

mysql> insert into RemoveSpecialCharacterDemo(Name) values('$John');
mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Carol');
mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Mike');
mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Sam');
mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Dav$id$');
mysql> insert into RemoveSpecialCharacterDemo(Name) values('Robert$');
mysql> insert into RemoveSpecialCharacterDemo(Name) values('J$ames$');
mysql> insert into RemoveSpecialCharacterDemo(Name) values('Max$well$');

使用select语句显示表中的所有记录。查询如下:

mysql> select *from RemoveSpecialCharacterDemo;

以下是输出:

+----+-----------+
| Id | Name      |
+----+-----------+
|  1 | $John     |
|  2 | $Carol    |
|  3 | $Mike     | 
|  4 | $Sam      |
|  5 | $Dav$id$  |
|  6 | Robert$   |
|  7 | J$ames$   |
|  8 | Max$well$ |
+----+-----------+
8 rows in set (0.00 sec)

这是使用REPLACE()以下命令从数据库字段中删除特殊字符的查询:

mysql> update RemoveSpecialCharacterDemo
   -> set Name=replace(Name,'$','');
Rows matched: 8 Changed: 8 Warnings: 0

再次检查表记录。显示所有记录的查询如下:

mysql> select *from RemoveSpecialCharacterDemo;

以下是输出:

+----+---------+
| Id | Name    |
+----+---------+
|  1 | John    |
|  2 | Carol   |
|  3 | Mike    |
|  4 | Sam     |
|  5 | David   |
|  6 | Robert  |
|  7 | James   |
|  8 | Maxwell |
+----+---------+
8 rows in set (0.00 sec)

看一下示例输出,特殊字符$已从表中完全删除。