gpt4 book ai didi

mysql - 在 MySQL 中解析 JSON

转载 作者:可可西里 更新时间:2023-11-01 07:22:21 25 4
gpt4 key购买 nike

我需要有关如何在 MySQL 中解析 JSON 数据的帮助。

我可以解析名为 config 的列,其中包含如下数据:

{"encounterId":"f45bf821-98e1-4496-82ef-047971e168cb","providerId":"38001853-d2e1-4361-9fff-cfca1aedf406","patientId":"f4d04edb-652f-427c-ac25-6fecbda2a0aa","obs":[{"conceptId":"4e903795-ad79-48fc-851e-9e67c9628e6b","value":0.0},{"conceptId":"5300c3e4-3b53-4a0b-874b-3060d18cec9b","value":"Q"},{"conceptId":"dded4485-6160-4791-a13d-16c87f5004dc","value":"000019"},{"conceptId":"4e503f63-caa0-419a-8670-112441d228da","value":"girl"}],"dateCreated":"Dec 5, 2012 9:39:01 AM","formId":"ETAT","locationId":"","created":1354693141902}

通过使用

select common_schema.get_option(be.config,'encounterid') AS eid
, common_schema.get_option(be.config,'providerid') AS gender
, common_schema.get_option(be.config,'patientid') AS pid
from bencounter be

得到我需要的。

但是,我无法获取“obs”的数据,它是字段 conceptid 和 value 的几个“行”。

在 obs 的“集合”返回 null 之后,还有对字段的任何引用

select common_schema.get_option(be.config,'encounterid') AS eid
, common_schema.get_option(be.config,'providerid') AS gender
, common_schema.get_option(be.config,'patientid') AS pid
, common_schema.get_option(be.config,'formId') AS formid -- THIS RETURNS NULL
from bencounter be

谁能帮我解决这个问题。

我想直接在 MySQL 中解决这个问题...

克莱门斯

最佳答案

这是 MySQL 5.7 语法中的解决方案:

select be.config->'$.encounterId' AS eid
, be.config->'$.providerId' AS gender
, be.config->'$.patientId' AS pid
, be.config->'$.formId' AS formid
from bencounter be \G

输出:

*************************** 1. row ***************************
eid: "f45bf821-98e1-4496-82ef-047971e168cb"
gender: "38001853-d2e1-4361-9fff-cfca1aedf406"
pid: "f4d04edb-652f-427c-ac25-6fecbda2a0aa"
formid: "ETAT"

请记住,JSON 中的字段键区分大小写。例如,'formId''formid' 不同。

关于mysql - 在 MySQL 中解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26770051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com