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

Xóa từ đầu tiên trong giá trị cột MySQL

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)
  • + 1 nhả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.