Vấn đề
Cột StudentName chứa chuỗi dạng "Name/Number" (ví dụ "John/56989"). Cần cập nhật để chỉ giữ phần trước dấu "/".
1. Tạo bảng
mysql> create table DemoTable (
StudentName varchar(100)
);
Query OK, 0 rows affected (1.05 sec)
2. Chèn dữ liệu
mysql> insert into DemoTable values('John/56989');
mysql> insert into DemoTable values('Carol');
mysql> insert into DemoTable values('David/74674');
mysql> insert into DemoTable values('Bob/45565');
3. Xem dữ liệu
mysql> select * from DemoTable;
+-------------+ | StudentName | +-------------+ | John/56989 | | Carol | | David/74674 | | Bob/45565 | +-------------+ 4 rows in set (0.00 sec)
4. Cập nhật dùng SUBSTRING_INDEX
mysql> update DemoTable set StudentName = substring_index(StudentName, '/', 1); Query OK, 3 rows affected (0.13 sec)
5. Kết quả sau cập nhật
mysql> select * from DemoTable;
+-------------+ | StudentName | +-------------+ | John | | Carol | | David | | Bob | +-------------+ 4 rows in set (0.00 sec)
Giải thích: SUBSTRING_INDEX(str, '/', 1) trả về phần con trước dấu '/' đầu tiên. Nếu không có dấu '/', trả về nguyên chuỗi (như 'Carol').