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

Lấy 15 ký tự đầu tiên từ cột chuỗi trong MySQL với SUBSTR()


Giới thiệu

Hàm SUBSTR(str, pos, len) (hoặc SUBSTRING()) trích xuất chuỗi con từ vị trí pos độ dài len. Vị trí tính từ 1.

Ví dụ minh họa

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

mysql> CREATE TABLE DemoTable (
    Title VARCHAR(100)
);
mysql> INSERT INTO DemoTable VALUES 
('Introduction to MySQL'), 
('Introduction to Java'), 
('C in Depth with data structure and algorithm');

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

mysql> SELECT SUBSTR(Title, 1, 15) FROM DemoTable;

Kết quả

+--------------------+
| SUBSTR(Title,1,15) |
+--------------------+
| Introduction to    |
| Introduction to    |
| C in Depth with    |
+--------------------+

Các biến thể

  • SUBSTR(Title, 1, 15) - 15 ký tự đầu.
  • SUBSTR(Title, -15) - 15 ký tự cuối (vị trí âm tính từ cuối).
  • SUBSTR(Title, 10) - Từ ký tự 10 đến hết.
  • LEFT(Title, 15) - Tương đương SUBSTR(Title, 1, 15), ngắn gọn hơn.
  • RIGHT(Title, 15) - 15 ký tự cuối.

Ứng dụng thực tế

  • Tạo excerpt/tóm tắt cho bài viết.
  • Hiển thị preview trong danh sách.
  • Kết hợp CONCAT(SUBSTR(col, 1, 50), '...') cho "read more".

Lưu ý

  • Nếu chuỗi ngắn hơn độ dài yêu cầu, trả về toàn bộ chuỗi (không lỗi).
  • Với ký tự Unicode (UTF-8), SUBSTR tính theo **byte** trong một số version cũ, nhưng MySQL 8.0+ tính theo **ký tự** (character) đúng chuẩn.
  • Để an toàn với Unicode: SUBSTR(Title, 1, 15) hoạt động tốt trong MySQL hiện đại.