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

MySQL: Xóa 2 ký tự đầu tiên của tất cả giá trị trong cột

Sử dụng hàm SUBSTRING() (hoặc SUBSTR()) kết hợp UPDATE để cắt bỏ N ký tự đầu.

Cú pháp

UPDATE ten_bang 
SET ten_cot = SUBSTRING(ten_cot, 3) 
WHERE dieu_kien;

Tham số 3 nghĩa là bắt đầu từ ký tự thứ 3 (bỏ 2 ký tự đầu).

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE XoaHaiKyTuDau (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> Chuoi VARCHAR(30),
    -> PRIMARY KEY(Id)
    -> );

Chèn dữ liệu (có tiền tố "U:", "S:", "T:", "W:"):

mysql> INSERT INTO XoaHaiKyTuDau(Chuoi) VALUES('U:100');
mysql> INSERT INTO XoaHaiKyTuDau(Chuoi) VALUES('S:20');
mysql> INSERT INTO XoaHaiKyTuDau(Chuoi) VALUES('N/A');
mysql> INSERT INTO XoaHaiKyTuDau(Chuoi) VALUES('T:8');
mysql> INSERT INTO XoaHaiKyTuDau(Chuoi) VALUES('N/A');
mysql> INSERT INTO XoaHaiKyTuDau(Chuoi) VALUES('W:99');

Dữ liệu gốc:

+----+-------------+
| Id | Chuoi       |
+----+-------------+
| 1  | U:100       |
| 2  | S:20        |
| 3  | N/A         |
| 4  | T:8         |
| 5  | N/A         |
| 6  | W:99        |
+----+-------------+

Xóa 2 ký tự đầu (chỉ cho giá trị khác 'N/A')

mysql> UPDATE XoaHaiKyTuDau 
    -> SET Chuoi = SUBSTRING(Chuoi, 3) 
    -> WHERE Chuoi <> 'N/A';

Kết quả:

+----+-------------+
| Id | Chuoi       |
+----+-------------+
| 1  | 100         |
| 2  | 20          |
| 3  | N/A         |
| 4  | 8           |
| 5  | N/A         |
| 6  | 99          |
+----+-------------+

Mở rộng: Để xóa N ký tự đầu, thay 3 bằng N+1. Ví dụ xóa 3 ký tự: SUBSTRING(cot, 4).