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

Cách xóa khoảng trắng giữa hai từ trong MySQL bằng REPLACE

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 %';