Cắt ngắn hiển thị cột TEXT/LONGTEXT với SUBSTRING()
Khi cột chứa văn bản dài, dùng SUBSTRING(cot, viTriBatDau, doDai) để chỉ lấy một phần hiển thị.
Cú pháp
SELECT SUBSTRING(cotDai, 1, soKyTu) AS tenAlias
FROM tenBang;
Ví dụ minh họa
Bảng limitLengthOfLongTextDemo:
CREATE TABLE limitLengthOfLongTextDemo (sentence LONGTEXT);
INSERT INTO limitLengthOfLongTextDemo VALUES
('This is the introduction to MySQL'),
('PL/SQL is the extension of Structured Query Language'),
('Java is an Object Oriented Programming Language');
Lấy 26 ký tự đầu:
SELECT SUBSTRING(sentence, 1, 26) AS `26Characters`
FROM limitLengthOfLongTextDemo;
Kết quả
+----------------------------+
| 26Characters |
+----------------------------+
| This is the introduction t |
| PL/SQL is the extension of |
| Java is an Object Oriented |
+----------------------------+
Mở rộng
LEFT(cot, n): Rút gọn choSUBSTRING(cot, 1, n).SUBSTRING(cot, -n): Lấy n ký tự cuối (MySQL hỗ trợ vị trí âm).CONCAT(SUBSTRING(cot,1,50), '...'): Thêm ellipsis cho UI.SUBSTRING_INDEX(cot, ' ', 10): Lấy 10 từ đầu (tách theo space).
Lưu ý
- Chỉ ảnh hưởng hiển thị, không thay đổi dữ liệu lưu trữ.
- Với UTF-8, 1 ký tự có thể > 1 byte.
SUBSTRINGtính theo ký tự (character), không phải byte → an toàn. - Để cắt theo byte:
SUBSTRING(cot USING bytes)(hiếm dùng).