Giới thiệu
Hàm SUBSTRING_INDEX(str, delim, count) trả về phần con của chuỗi str trước hoặc sau dấu phân cách delim tùy theo dấu của count. Dùng count = 1 để lấy phần trước dấu phân cách đầu tiên.
Ví dụ minh họa: Xóa số sau dấu '-' trong mã sinh viên
Bước 1: Tạo bảng và chèn dữ liệu
CREATE TABLE DemoTable2040 (StudentCode VARCHAR(20));
INSERT INTO DemoTable2040 VALUES ('John-232'), ('Carol-901'), ('David-987');
Bước 2: Cập nhật giữ lại phần trước dấu '-'
UPDATE DemoTable2040
SET StudentCode = SUBSTRING_INDEX(StudentCode, '-', 1);
Bước 3: Kết quả
SELECT * FROM DemoTable2040;
+-------------+
| StudentCode |
+-------------+
| John |
| Carol |
| David |
+-------------+
Lưu ý: Nếu chuỗi không chứa dấu '-', hàm sẽ trả về toàn bộ chuỗi gốc. Nếu muốn lấy phần sau dấu phân cách, dùng count âm (ví dụ: -1 lấy phần sau dấu phân cách cuối cùng).