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

Xóa ký tự cuối và thêm 2 ký tự mới cho VARCHAR số trong MySQL

Để 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ứ 2
  • CONCAT(..., '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.