在使用json_array_elements函数之前,需要确保操作的数据是一个json数组,而不是其他数据类型。示例代码如下:
CREATE TABLE example_table ( id INT, info JSON );
INSERT INTO example_table (id, info) VALUES (1, '{"name": "apple","quantity": 10,"price": 10.5, "category": ["fruit", "organic"]}') , (2, '{"name": "banana","quantity": 5,"price": 5.5, "category": ["fruit", "non-organic"]}') , (3, '{"name": "carrot","quantity": 20,"price": 2.5, "category": ["vegetable", "organic"]}') ;
-- 使用json_array_elements SELECT id, category FROM example_table, json_array_elements(info -> 'category');
-- 对非json数组调用json_array_elements,将会返回“cannot call json_array_elements on a non-array”错误 SELECT id, category FROM example_table, json_array_elements(info -> 'name');