Tôi sẽ sử dụng JSON_CONTAINS
.. Kiểm tra dbfiddle
(mariadb_10.4)
cú pháp là 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') = '[]'
Và kết quả Đối với đầu vào 1 là
Đối với đầu vào 4 là