Để xóa ký tự cuối cùng của chuỗi số (VARCHAR) và nối thêm 2 ký tự mới, dùng SUBSTRING() / LEFT() kết hợp CONCAT() trong câu lệnh UPDATE.
Ví dụ minh họa
Tạo bảng VARCHAR:
mysql> create table DemoTable (
Value varchar(100)
);
Chèn dữ liệu số dưới dạng chuỗi:
mysql> insert into DemoTable values('100');
mysql> insert into DemoTable values('1244');
mysql> insert into DemoTable values('15789');
Hiển thị dữ liệu:
mysql> select * from DemoTable;
Kết quả:
+-------+ | Value | +-------+ | 100 | | 1244 | | 15789 | +-------+
UPDATE xóa 1 ký tự cuối, nối '55'
mysql> update DemoTable set Value=concat(substring(Value,1,length(Value)-1), '55');
Kết quả: Query OK, 3 rows affected ... Changed: 3
Kiểm tra lại:
mysql> select * from DemoTable;
Kết quả:
+--------+ | Value | +--------+ | 1055 | | 12455 | | 157855 | +--------+
Giải thích:
LENGTH(Value)-1: Vị trí ký tự倒数 thứ 2 (bỏ ký tự cuối)SUBSTRING(Value, 1, LENGTH(Value)-1): Lấy chuỗi con từ đầu đến ký tự倒数 thứ 2CONCAT(..., '55'): Nối thêm '55' vào cuối- Áp dụng cho **tất cả hàng** (không có WHERE)
Ví dụ trace '100': LENGTH=3 → SUBSTRING(1,2)='10' → CONCAT('10','55')='1055'.
⚠️ Cảnh báo: Câu lệnh UPDATE không có WHERE sẽ cập nhật **toàn bộ bảng**. Luôn test với SELECT trước: SELECT CONCAT(SUBSTRING(Value,1,LENGTH(Value)-1), '55') FROM DemoTable.