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

Lấy N ký tự đầu tiên của chuỗi với LEFT trong MySQL

Giới thiệu

Hàm LEFT(str, len) trả về len ký tự đầu tiên của chuỗi str. Dùng để cắt ngắn văn bản, tạo preview, tóm tắt.

1. 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'); 
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('Python with django framework'); 
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('C with data structure and algorithm'); 
Query OK, 1 row affected (0.33 sec)

2. Dữ liệu gốc

mysql> select *from DemoTable;
+----------------------------------------------+
| Title                                        |
+----------------------------------------------+
| Java database connectivity to MySQL database |
| Python with django framework                 |
| C with data structure and algorithm          |
+----------------------------------------------+
3 rows in set (0.00 sec)

3. Lấy 10 ký tự đầu

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

4. Kết quả

+-----------------+
| Title           |
+-----------------+
| Java datab      |
| Python wit      |
| C with dat      |
+-----------------+
3 rows in set (0.00 sec)

Hàm liên quan:

  • RIGHT(str, len): Lấy len ký tự cuối
  • SUBSTRING(str, pos, len) / SUBSTR(): Lấy chuỗi con từ vị trí pos (1-based)
  • SUBSTRING_INDEX(str, delim, count): Lấy phần trước/ sau dấu phân cách

Ứng dụng thực tế: Tạo mô tả ngắn (excerpt) cho bài viết, hiển thị preview trong danh sách, cắt mã sản phẩm...

Lưu ý: LEFT/RIGHT tính theo byte, không phải ký tự Unicode. Với UTF-8 multibyte, có thể cắt giữa ký tự. Dùng LEFT(CAST(str AS CHAR(100) CHARACTER SET utf8mb4), 10) hoặc xử lý ở ứng dụng.