Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Thay thế & bằng ký tự & trong MySQL với REPLACE()

Để thay thế chuỗi & (HTML entity của dấu &) thành ký tự & thực sự trong MySQL, bạn dùng hàm REPLACE() trong câu lệnh UPDATE.

Ví dụ minh họa

Tạo bảng:

mysql> create table DemoTable( 
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    Value varchar(100) 
);

Chèn dữ liệu (có chứa '&'):

mysql> insert into DemoTable(Value) values('@amp');
mysql> insert into DemoTable(Value) values('&');
mysql> insert into DemoTable(Value) values('#amp');

Hiển thị dữ liệu:

mysql> select * from DemoTable;

Kết quả:

+----+-------+
| Id | Value |
+----+-------+
| 1  | @amp  |
| 2  | & |
| 3  | #amp  |
+----+-------+

Cập nhật thay thế & → &

mysql> update DemoTable set Value=replace(Value,'&','&');

Kết quả:

Query OK, 1 row affected (0.56 sec)
Rows matched: 3 Changed: 1 Warnings: 0

Kiểm tra lại:

mysql> select * from DemoTable;

Kết quả:

+----+-------+
| Id | Value |
+----+-------+
| 1  | @amp  |
| 2  | &     |
| 3  | #amp  |
+----+-------+

Giải thích:

  • REPLACE(Value, '&', '&'): Tìm chuỗi '&' trong cột Value, thay bằng '&'
  • Chỉ 1 hàng bị thay đổi (Rows matched: 3, Changed: 1)
  • Các giá trị '@amp', '#amp' không chứa '&' → không đổi

Lưu ý: Trong SQL, ký tự & không cần escape. Nếu dữ liệu chứa & thực sự (6 ký tự: &, a, m, p, ;), câu lệnh trên hoạt động đúng. Nếu dữ liệu lưu là entity HTML khác, điều chỉnh chuỗi tìm/thay tương ứng.