Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách viết truy vấn trong MySQL cho các đối tượng mảng JSON

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à



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. chọn các hàng đã xảy ra nhiều hơn ba lần

  2. PHP:Lặp lại nhiều mảng và xây dựng truy vấn SQL INSERT

  3. Lỗi:Không gian bảng cho bảng xxx tồn tại. Vui lòng XÓA không gian bảng trước khi NHẬP

  4. mysql-connector sẽ không nhập vào script trong pycharm

  5. Làm cách nào để lọc dữ liệu mysql nếu một cột có nhiều giá trị được phân tách bằng dấu phẩy?