Bạn chắc chắn muốn sử dụng SUBSTRING_INDEX sẽ trả về một số ký tự cho đến khi đạt được số lượng được chỉ định dựa trên sự xuất hiện của dấu phân cách. Trong trường hợp của bạn, cuộc gọi sẽ giống như sau:
SELECT SUBSTRING_INDEX(text_field, ' ', 6) FROM ...
Đặc biệt, điều này sẽ trả về tối đa sáu từ trong đó chúng tôi định nghĩa một từ là một tập hợp các ký tự không được phân tách bằng dấu cách.
Lưu ý :điều này sẽ trả về dấu chấm câu gắn liền với từ cuối cùng, có thể có hoặc có thể không. Nó đủ đơn giản để thay thế bất kỳ ký tự dấu câu nào ở cuối chuỗi trong PHP, nhưng nếu bạn muốn hoàn toàn nằm trong SQL, tôi nghĩ bạn có thể sử dụng TRIM . Cú pháp cho điều đó sẽ giống như:
SELECT TRIM(TRAILING ',' FROM SUBSTRING_INDEX(text_field, ' ', 6)) FROM ...
Có thể có một lựa chọn tốt hơn để loại bỏ dấu chấm câu ở cuối - nhưng có lẽ đó là một câu hỏi khác (tôi vẫn đang tìm một giải pháp tốt hơn TRIM).