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

Lấy từ đầu tiên (first word) từ chuỗi trong MySQL

Sử dụng SUBSTRING_INDEX(chuoi, ' ', 1) để lấy phần tử đầu tiên trước dấu cách.

Cú pháp

SELECT SUBSTRING_INDEX(tenCot, ' ', 1) AS tenAlias FROM tenBang;

Ví dụ

Tạo bảng họ tên đầy đủ:

mysql> create table DemoTable ( 
    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    StudentFullName varchar(40) 
); 
Query OK, 0 rows affected (0.61 sec)

Dữ liệu: 'John Smith', 'Carol Taylor', 'Bob Williams', 'David Miller'

Lấy từ đầu (Họ)

mysql> select substring_index(StudentFullName,' ',1) as FirstWord from DemoTable;
+-----------+
| FirstWord |
+-----------+
| John      |
| Carol     |
| Bob       |
| David     |
+-----------+

Mở rộng:

  • Từ cuối: SUBSTRING_INDEX(tenCot, ' ', -1)
  • Từ thứ n: SUBSTRING_INDEX(SUBSTRING_INDEX(tenCot, ' ', n), ' ', -1)

Lưu ý: Giả định tách từ bằng dấu cách đơn. Với tên có nhiều khoảng trắng, dùng TRIM() trước.