我有一列包含 JSON 数组。数组是这样的(表用户,列 user_info):
[
{"email":"xyz@hotmail.com","user_key":"987654","name":"John Paul"},
{"email":"abc@hotmail.com","user_key":"123456","name":"Tom Sawyer"},
{"email":"1234@msn.com","user_key":"887645","name":"Bart Simpson"}
]
有些在每个数组中有 3 个对象,有些有 20 个,有些介于两者之间。我想从数组中提取每个“名称”值。因此,对于上面的示例,我希望我的查询结果显示:
John Paul
Tom Sawyer
Bart Simpson
我可以这样做:
SELECT json_extract(users.user_info, '$[0]."name"', $[1]."name"', $[2]."name"')
FROM users
但是,如果我想选择所有这些,无论该列的每一行的长度如何,我将如何处理这样我就不必列出数组的每个对象编号?