在 MySQL 中查询 JSON 字段中的数组值,有几种方法可以找到部门包含 "X20" 的人员:
SELECT * FROM employees WHERE JSON_CONTAINS(department_field, '"X20"');
SELECT * FROM employees WHERE JSON_SEARCH(department_field, 'one', 'X20') IS NOT NULL;
SELECT * FROM employees WHERE 'X20' MEMBER OF(department_field);
SELECT DISTINCT e.* FROM employees e, JSON_TABLE( e.department_field, '$[*]' COLUMNS( dept VARCHAR(10) PATH '$' ) ) AS jt WHERE jt.dept = 'X20';
ALTER TABLE employees ADD INDEX idx_dept ((CAST(department_field AS CHAR(255) ARRAY)));