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

แทนที่ & ด้วยเครื่องหมาย & ใน MySQL ด้วย REPLACE()

การแทนที่สตริงในคอลัมน์ด้วย REPLACE()

ฟังก์ชัน REPLACE(str, from_str, to_str) ใช้แทนที่ทุกครั้งที่พบ from_str ใน str ด้วย to_str สามารถใช้ในคำสั่ง UPDATE เพื่อแก้ไขข้อมูลในตาราง

สร้างตารางและเพิ่มข้อมูล

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Value VARCHAR(100)
);
Query OK, 0 rows affected (1.06 sec)

mysql> INSERT INTO DemoTable(Value) VALUES('@amp');
mysql> INSERT INTO DemoTable(Value) VALUES('&');
mysql> INSERT INTO DemoTable(Value) VALUES('#amp');

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

mysql> SELECT * FROM DemoTable;

ผลลัพธ์:

+----+-------+
| Id | Value |
+----+-------+
| 1  | @amp  |
| 2  | &    |
| 3  | #amp  |
+----+-------+
3 rows in set (0.00 sec)

คำสั่งแทนที่ & ด้วย &

mysql> UPDATE DemoTable SET Value = REPLACE(Value, '&', '&');
Query OK, 1 row affected (0.56 sec)
Rows matched: 3 Changed: 1 Warnings: 0

ตรวจสอบข้อมูลหลังแก้ไข

mysql> SELECT * FROM DemoTable;

ผลลัพธ์:

+----+-------+
| Id | Value |
+----+-------+
| 1  | @amp  |
| 2  | &    |
| 3  | #amp  |
+----+-------+
3 rows in set (0.00 sec)

คำอธิบาย

  • REPLACE(Value, '&', '&') : หา substring '&' แล้วแทนที่ด้วย '&'
  • มีผลเฉพาะแถวที่ 2 (ค่า '&') → เปลี่ยนเป็น '&'
  • แถว 1 และ 3 ไม่มี '&' จึงไม่เปลี่ยน
  • Rows matched: 3 Changed: 1 : ตรงกับ 3 แถว แต่เปลี่ยนแค่ 1 แถว