【发布时间】:2020-11-19 23:10:01
【问题描述】:
我将遥测数据连续发送到我的 Azure SQL 数据库,该数据库最终以下列格式显示在其登陆表中:
INSERT INTO landing (ID, rawData)
VALUES
('Device1', [{"value1":"str1","value2":-109.0,"value3":3,"uselessvalue":16.0},{"value1":"str2","value2":-111.0,"value3":3,"uselessvalue":21.0},{"value1":"str3","value2":-113.0,"value3":2,"uselessvalue":18.0}]);
列表中 JSON 的数量可以从 1 个到几十个不等。
我正在尝试将这些值分隔在另一个表中的确定行中,以便可以以这种方式发送它们(可能在触发器内):
INSERT INTO parsedData (ID, value1, value2, value3)
VALUES
('Device1', 'str1', -109.0, 3),
('Device1', 'str2', -111.0, 3),
('Device1', 'str3', -113.0, 2);
我找到了几种方法(以逗号分隔、使用 WHILE 循环、使用 Azure 中不支持的关键字,例如 UNNEST),但到目前为止我找不到方法。
【问题讨论】:
标签: sql arrays json sql-server azure-sql-database