Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MYSQL REGEXP menelusuri dalam string JSON

Yah, cukup mudah untuk men-debug:

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

mengembalikan 0

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

mengembalikan 1

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

mengembalikan 1

Jadi ada sesuatu yang tidak beres di pihak Anda... karena itu tidak bisa mengembalikan baris di mana body sama dengan "listeListeOuiNon":"2" . Tapi mungkin saja, badan itu memiliki beberapa pernyataan ini, seperti:

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

Jadi, Anda harus mengubah regexp Anda:

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

Nah, maka Anda harus mengubah kueri Anda:

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. PHP PDO Kursor yang dapat digulir MySQL tidak berfungsi

  2. Menggunakan Git untuk melacak skema mysql - beberapa pertanyaan

  3. kesalahan:perintah 'x86_64-linux-gnu-gcc' saat menginstal mysqlclient

  4. Memahami Statistik HAProxy untuk MySQL &PostgreSQL

  5. Duplikasi transaksi PDO PHP