sql >> Database >  >> RDS >> Mysql

Hoe een query te schrijven in MySQL voor JSON-array-objecten

Ik zou JSON_CONTAINS . gebruiken .. Controleer dbfiddle (mariadb_10.4)

syntaxis is JSON_CONTAINS(target, candidate[, path])

SELECT
    *
FROM
    `student`
WHERE
    JSON_CONTAINS(JSON_EXTRACT(`val`, '$.stdran'), '1') 
    OR JSON_EXTRACT(`val`, '$.stdran') IS NULL 
    OR JSON_EXTRACT(`val`, '$.stdran') = '[]'

En resultaat Voor invoer 1 is

Voor invoer 4 is



  1. Uitzondering in verband met mysql via jdbc

  2. Eenvoudige update-instructie zodat alle rijen een andere waarde krijgen

  3. Een beetje advies over Cassandra vs. MySQL

  4. Waarom lopen SQL-id-reeksen niet synchroon (met name bij gebruik van Postgres)?