[英]Query a table with json format
我想知道如何使用sql查詢讀取像這樣的表:(這只是一個示例)
id,date,information
1,2018-26-02,{[{"iteration_number":0,"data":{"name":"Toto",values:{"PV":78,"SV":20,"TV":19},"state":"ok"},{"iteration_number":1,"data":{"name":"Baba",values:{"PV":68,"SV":10,"TV":11},"state":"ok"}}}]}
例如,要選擇第一條記錄的日期,我將輸入:“ SELECT date FROM table1 WHERE id = 1;
但是,如果我只想要迭代編號0的名稱嗎? (多多)
如果我無法理解就說。
感謝您的答復。
西蒙
在MSSQL中,您可以使用JSON_VALUE
函數:
在這里可以找到更多文檔。
DECLARE @temp_table TABLE
(
id INT NOT NULL IDENTITY(1, 1),
date DATETIME NOT NULL,
information VARCHAR(MAX) NOT NULL
);
INSERT INTO @temp_table
(date, information)
VALUES
(GETDATE(), '[{"iteration_number":1,"data":{"name":"Toto",values:{"PV":78,"SV":20,"TV":19},"state":"ok"},{"iteration_number":1,"data":{"name":"Baba",values:{"PV":68,"SV":10,"TV":11},"state":"ok"}}}]');
SELECT date, JSON_VALUE(information,'$[0].data.name') AS Name
FROM @temp_table
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.