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

Xóa dấu gạch ngang (hyphen) trong MySQL dùng REPLACE()

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