有沒有辦法更新從下面的選擇中檢索到的資料(在這種情況下,將“MS220”更改為其他內容)?在某些情況下,從 JSON 中進行選擇已經很困難了。我不確定如何只更新一個元素。
CREATE TABLE JData (
JsonData nvarchar(max)
)
INSERT INTO JData
(JsonData)
VALUES
('[
{
"Categories": [
{
"QuerySourceNames": [
"QAsset"
],
"Id": "eceae85a-ffc6-49f4-8f6a-78ce2b4b274e",
"Name": "emsdba"
}
],
"Id": "525b4f07-0f67-43ac-8070-a0e6c1ceb1b9",
"Name": "MS220"
}
]')
SELECT
ParamName
FROM [dbo].[JData] jsonData
CROSS APPLY OPENJSON (jsonData)
WITH
(
Categories nvarchar(max) AS json,
Id uniqueidentifier,
ParamName varchar(10) '$.Name'
);
uj5u.com熱心網友回復:
使用路徑嘗試JSON_MODIFY() '$[0].Name'
UPDATE d SET jsonData = JSON_MODIFY(jsonData, '$[0].Name', 'New Value') FROM [dbo].[JData] d
結果:
[
{
“類別”:[
{
“查詢來源名稱”:[
“質量資產”
],
"id": "eceae85a-ffc6-49f4-8f6a-78ce2b4b274e",
“名稱”:“emsdba”
}
],
“ID”:“525b4f07-0f67-43ac-8070-a0e6c1ceb1b9”,
“名稱”:“新值”
}
]
db<>在這里擺弄
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/441783.html
上一篇:在每個日期查找每個專案的百分比
