sql >> Databáze >  >> RDS >> Mysql

Jak napsat dotaz v MySQL pro objekty pole JSON

Použil bych JSON_CONTAINS .. Zkontrolujte dbfiddle (mariadb_10.4)

syntaxe je 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') = '[]'

A výsledek pro vstup 1 je

Pro vstup 4 je



  1. Dotaz MySQL – vynucení rozlišení velkých a malých písmen pomocí ORDER BY rand()

  2. Phalcon – Jak provedu poddotaz SELECT IN s modely Phalcon?

  3. Jak opravit špatně naformátovaný JSON v PHP?

  4. Jak zkontrolovat databázi Oracle pro dlouho běžící dotazy