JSON/MEMSQLに問題があります。ここに私のテーブルがあります:MEMSQLからJSONを読み取る
insert into MEMTEST (DATA) values
('
{
"EnterpriseMessage" :
{
"Body" :
[
{
"AccountNumber":"ABCD",
"AdminCompany":null,
"BrokerNumber":"WWonka"
},
{
"AccountNumber":"CSNE",
"AdminCompany":null,
"BrokerNumber":"ZWiza"
}
],
"Header" :
{
"mimetye":"application/vnd.ms-powerpoint",
"destinationsystem":"ETL",
"requiresack":"FALSE",
"SimpArr":
[
"BYTS6181",
"EVU98124",
"Genesys"
],
"EmptyFile":1
}
}
}
');
私は、ヘッダー内SimpArr配列を読むことができます:
CREATE TABLE `MEMSQLPOLYGLOT` (
ID BIGINT AUTO_INCREMENT,
`DATA` JSON NULL,
PRIMARY KEY (ID)
);
ここで私が読んしようとしているレコードがあります。
SELECT DATA::EnterpriseMessage::Header::SimpArr from MEMTEST;
戻り値:
["BYTS6181","EVU98124","Genesys"]
私も特定の値を取得するには、キーインデックスに渡すことができ、例えば:
select JSON_EXTRACT_JSON(DATA::EnterpriseMessage::Body, 1) from MEMTEST;
それはだから、これはSimpArrの第二の値を返します0から始まるインデックス
私もボディ内のオブジェクトの配列を読み取ることができます。
その配列内の最初のオブジェクトを返しますselect JSON_EXTRACT_JSON(DATA::EnterpriseMessage::Body, 0) from MEMTEST;
:
{
"AccountNumber":"ABCD",
"AdminCompany":null,
"BrokerNumber":"WWonka"
}
しかし、私が読んでする方法を見つけることができませんこのオブジェクトの個々の属性
誰もが考えている?
ありがとうございました!これは機能します。 – BamBam