Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kéo X từ đầu tiên (không chỉ ký tự) từ mySQL

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).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. thêm cột vào bảng mysql nếu nó không tồn tại

  2. MySQL Server của tôi là phiên bản nào?

  3. Câu lệnh chuẩn bị sẵn không hoạt động với các truy vấn bảng ALTER

  4. MySQL FULLTEXT không hoạt động

  5. Nhóm đầu ra của SHOW COLUMNS vào danh sách được phân tách bằng dấu phẩy