Giới thiệu
Để thay thế một ký tự cụ thể trong chuỗi, MySQL cung cấp hàm REPLACE(str, from_str, to_str). Bài viết này demo việc thay dấu '+' thành khoảng trắng cho cột số điện thoại.
Ví dụ minh họa
Tạo bảng và chèn dữ liệu
mysql> CREATE TABLE DemoTable (
Number VARCHAR(100)
);
mysql> INSERT INTO DemoTable VALUES
('+916578675547'),
('+918976676564'),
('+919800087678');
Xem dữ liệu trước
mysql> SELECT * FROM DemoTable;
+---------------+ | Number | +---------------+ | +916578675547 | | +918976676564 | | +919800087678 | +---------------+
Cập nhật thay thế '+' bằng khoảng trắng
mysql> UPDATE DemoTable SET Number = REPLACE(Number, '+', ' ');
Query OK, 3 rows affected (0.12 sec) Rows matched: 3 Changed: 3 Warnings: 0
Kết quả sau cập nhật
mysql> SELECT * FROM DemoTable;
+---------------+ | Number | +---------------+ | 916578675547 | | 918976676564 | | 919800087678 | +---------------+
Lưu ý
- Hàm REPLACE phân biệt chữ hoa/thường.
- Nếu muốn xóa hoàn toàn dấu '+' (không thay bằng khoảng trắng), dùng
REPLACE(Number, '+', ''). - Câu lệnh UPDATE thay đổi dữ liệu vĩnh viễn. Hãy kiểm tra kỹ với SELECT trước khi chạy.
Mở rộng: Chỉ SELECT không cập nhật
SELECT REPLACE(Number, '+', ' ') AS CleanNumber FROM DemoTable;