[英]How to read JSON text from Sql Server 2016 table column
我在Sql Server中有以下JSon數據。
{
"PartnerName": null,
"PartnerCurrencyCode": "UAD",
"PricingConditions": [
{
"PricingConditionId": 659853,
"ConditionTypeCode": "ABCD",
"ConcessionItemTypeCode": "ABC",
"PriceLevel": null
}
],
"CurrencyMultiplier": 0
}
預期結果是:
PartnerName PartnerCode PartnerCurrencyCode PricingConditionId
NULL NULL UAD 659853
我已經了解到Sql Server 2016具有讀取JSON數據的功能,並嘗試了以下查詢。
查詢1:
SELECT * FROM OPENJSON(@json, '$')
查詢2:
SELECT *
FROM OPENJSON(@json)
WITH (PartnerName NVARCHAR(50) '$.PartnerName',
PartnerCode nvarchar(50) '$.PartnerCode',
PartnerCurrencyCode nvarchar(50) '$.PartnerCurrencyCode',
PricingConditionId nvarchar(50) '$.PricingConditions.PricingConditionId')
查詢2結果:
PartnerName PartnerCode PartnerCurrencyCode PricingConditionId
NULL NULL UAD NULL
我期望“ PricingConditionId”值為-659853
試試這個查詢:
SELECT PartnerName,
PartnerCode,
PartnerCurrencyCode,
[PricingConditions[0]].PricingConditionId AS ProductID1
FROM OPENJSON (@json)
WITH (
PartnerName NVARCHAR(50),
PartnerCode NVARCHAR(50),
PartnerCurrencyCode NVARCHAR(50),
[PricingConditions[0]].PricingConditionId NVARCHAR(50)
) AS Partners
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.