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

Làm cách nào để trích xuất từ ​​thứ n và đếm số lần xuất hiện của từ trong một chuỗi MySQL?

Sau đây là một giải pháp được đề xuất cho OP's cụ thể vấn đề (trích xuất từ ​​thứ 2 của một chuỗi), nhưng cần lưu ý rằng, như câu trả lời của mc0e nêu rõ, việc trích xuất các kết quả phù hợp regex thực sự không được hỗ trợ trong MySQL. Nếu bạn thực sự cần điều này, thì lựa chọn của bạn về cơ bản là 1) thực hiện nó trong quá trình xử lý hậu kỳ trên máy khách hoặc 2) cài đặt một tiện ích mở rộng MySQL để hỗ trợ nó.

BenWells có nó gần như chính xác. Làm việc từ mã của anh ấy, đây là một phiên bản được điều chỉnh một chút:

SUBSTRING(
  sentence,
  LOCATE(' ', sentence) + CHAR_LENGTH(' '),
  LOCATE(' ', sentence,
  ( LOCATE(' ', sentence) + 1 ) - ( LOCATE(' ', sentence) + CHAR_LENGTH(' ') )
)

Như một ví dụ làm việc, tôi đã sử dụng:

SELECT SUBSTRING(
  sentence,
  LOCATE(' ', sentence) + CHAR_LENGTH(' '),
  LOCATE(' ', sentence,
  ( LOCATE(' ', sentence) + 1 ) - ( LOCATE(' ', sentence) + CHAR_LENGTH(' ') )
) as string
FROM (SELECT 'THIS IS A TEST' AS sentence) temp

Điều này trích xuất thành công từ IS



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào tôi có thể sử dụng MySQL Errcode 13 với CHỌN VÀO OUTFILE?

  2. Mysql chọn riêng biệt

  3. create_series () tương đương trong MySQL

  4. Mã lỗi:1215. Không thể thêm ràng buộc khóa ngoại (khóa ngoại)

  5. MySQL bị thiếu ID từ bảng