簡體   English   中英

查詢json格式的表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM