Giới thiệu
Toán tử REGEXP trong MySQL cho phép lọc hàng dựa trên khớp mẫu (pattern matching) với biểu thức chính quy. Kết hợp với UPDATE để sửa đổi dữ liệu phức tạp.
Ví dụ minh họa: Thêm tiền tố 'Street' cho các số nhà đơn giản (1-2 chữ số)
Bước 1: Tạo bảng và chèn dữ liệu
CREATE TABLE DemoTable2023 (StreetNumber VARCHAR(100));
INSERT INTO DemoTable2023 VALUES ('7'), ('1'), ('AUS-100'), ('US-101');
Bước 2: Cập nhật các hàng mà StreetNumber chỉ chứa 1-2 chữ số (^[0-9]{1,2}$)
UPDATE DemoTable2023
SET StreetNumber = CONCAT('Street', StreetNumber)
WHERE StreetNumber REGEXP '^[0-9]{1,2}$';
Bước 3: Kết quả
SELECT * FROM DemoTable2023;
+--------------+
| StreetNumber |
+--------------+
| Street7 |
| Street1 |
| AUS-100 |
| US-101 |
+--------------+
Giải thích Regex:
^: Bắt đầu chuỗi.[0-9]{1,2}: 1 đến 2 chữ số.$: Kết thúc chuỗi.
Chỉ '7' và '1' khớp mẫu, nên chỉ chúng được thêm tiền tố.