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

MySQL, REGEXP - Tìm các từ chỉ chứa các chữ cái chính xác sau

Vấn đề ở đây là bạn đang kiểm tra sự hiện diện của l hai lần. Điều đó giống như ... "Nó chứa một l . Đúng, vẫn chứa một l . "Nó không kiểm tra hai trong số họ. Đây là một giải pháp thay thế ...

SELECT word FROM us_6 WHERE
word REGEXP 'v' AND
word REGEXP 'l.*l' AND
word REGEXP 'e' AND
word REGEXP 'o' AND
word REGEXP 'y'

Điều này phải khớp với tất cả các từ có chứa v , hai l 's, một e , một o và một y .

Vì vậy, mỗi lần xuất hiện khác của cùng một chữ cái, chỉ cần thêm một chữ cái. * Khác vào truy vấn. Ví dụ:lullaby cần truy vấn sau:

    SELECT word FROM us_7 WHERE
    word REGEXP 'l.*l.*l' AND
    word REGEXP 'u' AND
    word REGEXP 'a' AND
    word REGEXP 'b' AND
    word REGEXP 'y'

Xem cách tôi thêm 3 *.l vì có 3 lần xuất hiện của l trong từ lullaby .

Điều tương tự cũng có thể được thực hiện với LIKE thay vì REGEXP . Đây là một truy vấn tương đương cho câu hỏi ban đầu ...

SELECT word FROM us_6 WHERE
word LIKE '%v%' AND
word LIKE '%l%l%' AND
word LIKE '%e%' AND
word LIKE '%o%' AND
word LIKE '%y%'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không tìm thấy tệp Ngoại lệ khi cố gắng tải tệp lên máy chủ xampp từ ứng dụng Android

  2. Tại sao SELECT ... WHERE id =a trả về kết quả nếu giá trị là 0

  3. MySQL 8 chia chuỗi bằng dấu phẩy và chuyển đổi nó thành JSON ARRAY

  4. Điều chỉnh truy vấn MySQL - Tại sao việc sử dụng một giá trị từ một biến lại chậm hơn nhiều so với việc sử dụng một chữ?

  5. `date` có phải là tên cột mysql hợp lệ không?