我在 MySQL 中有一个表,其中每一行都包含从另一个系统返回的 JSON。 JSON 看起来像:
[{"userId": "Dave"},{"userId": "Mary", "errorCode" : "DB Fail"}, {"userId": "Lorenza", "errorCode": "Web Error"}]
我只对包含错误代码的数组成员感兴趣。将来,这些将被解析为它们自己表的单独行,但与此同时,MySql 是否提供了一种仅使用错误代码提取这些行的方法?
我可以使用 JSON_EXTRACT 仅提取错误代码
JSON_EXTRACT(jsonData, '$[*].errorCode') AS errorCodes
但我真的想要成员的其余部分(上面示例中的 userId)
最佳答案
您可以使用 JSON_CONTAINS 函数查找带有 errorCode 的记录,然后对这些记录使用 JSON_EXTRACT。将 JSON_CONTAINS 放在 where 子句中
关于mysql - 在 MySQL 中提取 JSON 数组的某些成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50719163/