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

Truy vấn MySQL chỉ hiển thị 15 ký tự đầu từ bên trái

Cắt chuỗi lấy N ký tự đầu với LEFT() trong MySQL

Hàm LEFT(chuoi, so_ky_tu) trả về số ký tự chỉ định từ đầu chuỗi.

Tạo bảng và dữ liệu

mysql> create table DemoTable ( Title text ); 
Query OK, 0 rows affected (0.59 sec)
mysql> insert into DemoTable values('Java database connectivity to MySQL database'); 
mysql> insert into DemoTable values('Python with django framework'); 
mysql> insert into DemoTable values('C with data structure and algorithm');

Truy vấn lấy 15 ký tự đầu

mysql> select left(Title,15) as Title from DemoTable;

Kết quả

+-----------------+ 
| Title           | 
+-----------------+ 
| Java database c | 
| Python with dja | 
| C with data str | 
+-----------------+

⚠️ Lưu ý quan trọng: Tiêu đề bài viết gốc nói "15 words" (15 từ) nhưng hàm LEFT() cắt theo ký tự (characters), không phải từ. Kết quả cắt giữa từ.

Để cắt theo từ (phức tạp hơn): MySQL không có hàm sẵn. Cách tiếp cận:

  • Ứng dụng xử lý sau khi SELECT
  • Hoặc dùng stored function phức tạp duyệt qua chuỗi
  • MySQL 8.0: Có thể dùng REGEXP_SUBSTR nhưng vẫn phức tạp

Hàm liên quan: RIGHT() (ký tự cuối), SUBSTRING() (vị trí tùy ý), SUBSTRING_INDEX() (cắt theo dấu phân cách).