sql >> Database teknologi >  >> RDS >> Mysql

Sådan skriver du forespørgsel i MySQL til JSON-arrayobjekter

Jeg ville bruge JSON_CONTAINS .. Tjek dbfiddle (mariadb_10.4)

syntaks er 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') = '[]'

Og resultat For input 1 er

For input 4 er



  1. Matching af udbud og efterspørgsel — løsninger, del 3

  2. Hvordan kan jeg nulstille en MySQL AutoIncrement ved hjælp af en MAX-værdi fra en anden tabel?

  3. Oracle UpdateXML() ændrer XML-struktur?

  4. Sorter efter de sidste 2 tegn streng