Cú pháp
UPDATE bang SET cot = REPLACE(cot, '-', '');
Ví dụ: Xóa tất cả dấu - trong userId
Dữ liệu ban đầu
+-----------------------+ | userId | +-----------------------+ | John-123-456 | | Carol-9999-7777-66555 | | 123456-Bob-8765 | | 1678-9870-Sam | +-----------------------+
Truy vấn
mysql> UPDATE removeHyphensDemo SET userId = REPLACE(userId, '-', '');
Kết quả
+--------------------+ | userId | +--------------------+ | John123456 | | Carol9999777766555 | | 123456Bob8765 | | 16789870Sam | +--------------------+
Mở rộng: Xóa nhiều ký tự
-- Chỉ giữ chữ và số UPDATE bang SET cot = REGEXP_REPLACE(cot, '[^a-zA-Z0-9]', '');
Lưu ý
REPLACE()phân biệt chữ hoa/thường- Không có WHERE → update toàn bảng
- Cân nhắc thêm cột mới, update, verify, rồi drop cột cũ (an toàn hơn)
- Trigger AFTER UPDATE có thể ghi log thay đổi
Ứng dụng thực tế
- Chuẩn hóa mã sản phẩm, mã SKU
- Dọn dẹp dữ liệu import từ CSV/Excel
- Chuẩn hóa số điện thoại: bỏ -, space, (, )
- Slug URL: chuyển space → -, bỏ ký tự đặc biệt