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

Tìm và thay thế ký tự ở đầu chuỗi trong MySQL với INSERT()

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ác len)