Sử dụng SUBSTRING() kết hợp LOCATE() để cắt bỏ từ đầu tiên (tính đến dấu cách đầu tiên).
Tạo bảng và dữ liệu
mysql> CREATE TABLE DemoTable(Title TEXT);
Query OK, 0 rows affected (0.50 sec)
mysql> INSERT INTO DemoTable VALUES
('Java in Depth'),
('C++ is an object oriented programming language'),
('MySQL is a relational database'),
('Python with data structure');
Query OK, 4 rows affected
Xóa từ đầu tiên
mysql> SELECT SUBSTRING(Title, LOCATE(' ', Title) + 1) AS RemoveFirstWord
FROM DemoTable;
Kết quả:
+--------------------------------------------+ | RemoveFirstWord | +--------------------------------------------+ | in Depth | | is an object oriented programming language | | is a relational database | | with data structure | +--------------------------------------------+
Giải thích:
LOCATE(' ', Title)tìm vị trí dấu cách đầu tiên (1-based)+ 1nhảy qua dấu cách đóSUBSTRING(Title, pos)lấy từ vị trí đó đến hết chuỗi
Xử lý trường hợp không có dấu cách: LOCATE trả về 0, +1 = 1, SUBSTRING(..., 1) trả về toàn bộ chuỗi (an toàn).
Cách thay thế (MySQL 8.0+): TRIM(LEADING SUBSTRING_INDEX(Title, ' ', 1) FROM Title) hoặc dùng REGEXP.