Hàm INSERT(str, pos, len, newstr) thay thế len ký tự từ vị trí pos bằng newstr. Kết hợp WHERE ... LIKE 'prefix%' để chỉ cập nhật hàng có tiền tố cụ thể.
Tạo bảng mã bưu chính
mysql> CREATE TABLE DemoTable (ZipCode VARCHAR(200)); Query OK, 0 rows affected (0.47 sec)
mysql> INSERT INTO DemoTable VALUES('9030'), ('3902'), ('9083'), ('9089');
Query OK, 4 rows affected (0.15 sec)
Thay 2 ký tự đầu '90' thành 'Country-AUS-' cho hàng bắt đầu bằng '90'
mysql> UPDATE DemoTable SET ZipCode = INSERT(ZipCode, 1, 2, 'Country-AUS-') WHERE ZipCode LIKE '90%'; Query OK, 3 rows affected (0.26 sec)
Kết quả:
+----------------+ | ZipCode | +----------------+ | Country-AUS-30 | | 3902 | | Country-AUS-83 | | Country-AUS-89 | +----------------+ 4 rows in set (0.00 sec)
Tham số INSERT():
pos = 1: vị trí bắt đầu (1-based)len = 2: số ký tự bị thay thếnewstr = 'Country-AUS-': chuỗi thay thế (có thể dài kháclen)