Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So schreiben Sie eine Abfrage in MySQL für JSON-Array-Objekte

Ich würde JSON_CONTAINS verwenden .. Prüfen Sie dbfiddle (mariadb_10.4)

Syntax ist 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') = '[]'

Und Ergebnis für Eingabe 1 ist

Für Eingang 4 ist