Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ลบอักขระพิเศษออกจากฟิลด์ฐานข้อมูลใน 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) ); Query OK, 0 rows affected (0.59 sec)

เพิ่มข้อมูลที่มีอักขระ $:

mysql> INSERT INTO RemoveSpecialCharacterDemo(Name) VALUES('$John'); Query OK, 1 row affected (0.29 sec)
mysql> INSERT INTO RemoveSpecialCharacterDemo(Name) VALUES('$Carol'); Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO RemoveSpecialCharacterDemo(Name) VALUES('$Mike'); Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO RemoveSpecialCharacterDemo(Name) VALUES('$Sam'); Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO RemoveSpecialCharacterDemo(Name) VALUES('$Dav$id$'); Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO RemoveSpecialCharacterDemo(Name) VALUES('Robert$'); Query OK, 1 row affected (0.30 sec)
mysql> INSERT INTO RemoveSpecialCharacterDemo(Name) VALUES('J$ames$'); Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO RemoveSpecialCharacterDemo(Name) VALUES('Max$well$'); Query OK, 1 row affected (0.27 sec)

แสดงข้อมูลก่อนลบ:

+----+-----------+ | 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)

คำสั่งลบอักขระ $ ทั้งหมด:

mysql> UPDATE RemoveSpecialCharacterDemo SET Name = REPLACE(Name, '$', ''); Query OK, 8 rows affected (0.22 sec) Rows matched: 8 Changed: 8 Warnings: 0

ตรวจสอบข้อมูลหลังลบ:

+----+---------+ | 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)

อักขระ $ ถูกลบออกหมดจากทุกแถว สำหรับอักขระพิเศษหลายตัว ให้ใช้ REPLACE() ซ้อนกันหลายครั้ง