Hàm REPLACE(str, from_str, to_str) thay thế **tất cả** lần xuất hiện của chuỗi con from_str bằng to_str. Để xóa khoảng trắng giữa hai từ cụ thể, hãy chỉ định chính xác chuỗi cần thay (kể cả khoảng trắng xung quanh).
Ví dụ: Xóa khoảng trắng sau từ "is" → "is" thành "is"
Tạo bảng:
mysql> CREATE TABLE DemoTable1506 (Title TEXT);
Chèn dữ liệu:
mysql> INSERT INTO DemoTable1506 VALUES
-> ('This is MySQL'),
-> ('This is Java language'),
-> ('This is MongoDB NoSQL database');
Cập nhật: thay ' is ' (có khoảng trắng 2 bên) bằng ' is' (chỉ có khoảng trắng trước):
mysql> UPDATE DemoTable1506
-> SET Title = REPLACE(Title, ' is ', ' is');
Kết quả:
+-------------------------------+ | Title | +-------------------------------+ | This isMySQL | | This isJava language | | This isMongoDB NoSQL database | +-------------------------------+
⚠️ Lưu ý quan trọng
- REPLACE thay thế TẤT CẢ lần xuất hiện – trong ví dụ, cả 3 hàng đều bị thay vì chỉ hàng đầu.
- Phân biệt chữ hoa/thường: MySQL mặc định **không phân biệt** (case-insensitive) với collation mặc định (utf8mb4_general_ci).
- Để xóa **tất cả khoảng trắng** trong chuỗi:
REPLACE(Title, ' ', ''). - Để xóa chỉ khoảng trắng đầu/cuối:
TRIM(Title). - Để xóa khoảng trắng thừa giữa các từ (giữ 1 khoảng): dùng
REGEXP_REPLACE(MySQL 8.0+) hoặc hàm tự viết.
Cập nhật có điều kiện (chỉ hàng khớp)
UPDATE DemoTable1506 SET Title = REPLACE(Title, ' is ', ' is') WHERE Title LIKE '% is %';