sql >> Databasteknik >  >> RDS >> Mysql

Hur man söker i JSON-array i MySQL?

Du kan söka i en array av heltal enligt följande:

  JSON_CONTAINS('[1,2,3,4,5]','7','$') Returns: 0
  JSON_CONTAINS('[1,2,3,4,5]','1','$') Returns: 1

Du kan söka i en array av strängar enligt följande:

  JSON_CONTAINS('["a","2","c","4","x"]','"x"','$') Returns: 1
  JSON_CONTAINS('["1","2","3","4","5"]','"7"','$') Returns: 0

Obs:JSON_CONTAINS returnerar antingen 1 eller 0

I ditt fall kan du söka med en fråga som så här:

SELECT * from my_table
WHERE JSON_CONTAINS(data, '2', '$');


  1. Där klausulen fungerar fungerar inte på tinyint

  2. Hur make_timestamptz() fungerar i PostgreSQL

  3. Olaglig blandning av sammanställningar för operation "som" vid sökning med Ignited-Datatables

  4. Hur CONCAT()-funktionen fungerar i PostgreSQL