大佬教程收集整理的这篇文章主要介绍了在 SQL 中循环遍历 JSON 数据集,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望基于 JsON 数据集创建一个包含两列“时间”和“空气温度”的临时表(请参阅下面的示例 sql 代码)。
我面临的问题是 time 和 air_temperature 在层次树中处于不同级别,其中 air_temperature 是时间级别的子级。所以我需要遍历时间序列级别以找到每次的孩子。
在 .NET 中,我可以使用 for each 循环来完成此操作,但我希望在 MSsql 中执行类似的操作。
DECLARE @Json NVARCHAR(MAX)
SET @Json='{
"type":"Feature","geometry":{
"type":"Point","coordinates":[13.023,55.596,10]},"propertIEs":{
"Meta":{
"updated_at":"2021-03-10T05:57:53Z","units":{
"air_pressure_at_sea_level":"hPa","air_temperature":"celsius","cloud_area_fraction":"%","precipitation_amount":"mm","relative_humIDity":"%","wind_from_direction":"degrees","wind_speed":"m/s"}},"timeserIEs":[
{"time":"2021-03-10T06:00:00Z","data":{
"instant":{
"details":{
"air_pressure_at_sea_level":1019.9,"air_temperature":-1.9,"cloud_area_fraction":7.2,"relative_humIDity":88.8,"wind_from_direction":137.3,"wind_speed":1.2}},"next_12_hours":{
"sumMary":{
"symbol_code":"partlycloudy_day"}},"next_1_hours":{
"sumMary":{
"symbol_code":"clearsky_day"},"details":{"precipitation_amount":0.0}},"next_6_hours":{
"sumMary":{
"symbol_code":"partlycloudy_day"},"details":{"precipitation_amount":0.0}
}
}
},{"time":"2021-03-10T07:00:00Z","data":{
"instant":{
"details":{
"air_pressure_at_sea_level":1020.3,"air_temperature":-0.3,"cloud_area_fraction":9.1,"relative_humIDity":80.8,"wind_from_direction":139.9,"next_12_hours":{
"sumMary":{
"symbol_code":"partlycloudy_day"}},"next_1_hours":{
"sumMary":{
"symbol_code":"clearsky_day"},"details":{
"precipitation_amount":0.0}},"next_6_hours":{
"sumMary":{
"symbol_code":"partlycloudy_day"},"details":{"precipitation_amount":0.0}
}
}
}]
}
}'
SELECT *
FROM OPEnjsON(@Json)
WITH (
time datetiR_237_11845@e '$.propertIEs.timeserIEs',air_temperature nvarchar(50) '$.propertIEs.timeserIEs.data.instant.details'
)
您需要根据解析的 JSON 的结构使用正确的 path
表达式:
SELECT *
FROM OPENJSON(@json,'$.properties.timeseries')
WITH (
time datetiR_237_11845@e '$.time',air_temperature nvarchar(50) '$.data.instant.details.air_temperature'
)
以上是大佬教程为你收集整理的在 SQL 中循环遍历 JSON 数据集全部内容,希望文章能够帮你解决在 SQL 中循环遍历 JSON 数据集所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。