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

Tìm kiếm MYSQL REGEXP trong chuỗi JSON

Chà, việc gỡ lỗi khá dễ dàng:

SELECT '"listeListeOuiNon":"2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'

trả về 0

SELECT '"listeListeOuiNon":"1"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'

trả về 1

SELECT '"listeListeOuiNon":"1,2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'

trả về 1

Vì vậy, có điều gì đó không ổn ở phía bạn ... bởi vì nó không thể trả về các hàng trong đó nội dung bằng "listeListeOuiNon":"2" . Nhưng có thể, phần nội dung đó có một số câu lệnh trong số này, giống như:

body => '"listeListeOuiNon":"1,2", "ngheListeOuiNon":"2"'

Vì vậy, bạn phải sửa đổi regexp của mình:

'^"listeListeOuiNon":".*1.*"$'

Vâng, sau đó bạn phải sửa đổi truy vấn của mình:

SELECT DISTINCT tag, body FROM pages WHERE (body REGEXP BINARY '"listeListeOuiNon":".*1.*"') AND NOT (body REGEXP BINARY '"listeListeOuiNon":"2"')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bị mắc kẹt trong lỗi 2 với mysql sử dụng XAMPP

  2. GROUP BY có MAX ngày

  3. Sử dụng select vào biến cục bộ và câu lệnh chuẩn bị sẵn trong mysql

  4. CHỌN 1 từ DUAL:MySQL

  5. Diễn đàn PHP - cách đối phó với các thảo luận / chủ đề / bài đăng chưa đọc