【发布时间】:2020-02-12 09:05:31
【问题描述】:
我的表中有以下 Json:
{
"filterCriteria":[
{
"fieldId":"abc",
"filterData":[
{
"values":[
{
"id":1,
"value":"1",
"text":"1"
},
{
"id":2,
"value":"2",
"text":"2"
}
],
"filterType":"equals"
}
]
},
{
"fieldId":"def",
"filterData":[
{
"values":[
{
"id":3,
"value":"3",
"text":"3"
},
{
"id":4,
"value":"4",
"text":"4"
}
],
"filterType":"equals"
}
]
}
]
}
我想根据特定字段 ID 的索引更新值节点。
举个例子:如果我想更新字段id="abc"和id=1的值节点,那么我必须写这段代码:
DECLARE @JSON nvarchar(max) = Above mentioned JSON
SELECT
JSON_MODIFY(@JSON,'$."filterCriteria"[0].filterData[0].values[0].value', 'Hey');
但是,如果我必须根据某些过滤器上的获取索引进行更新,那么我无法弄清楚该怎么做。谁能帮我解决这个问题?
【问题讨论】:
-
fieldId="abc", not id="abc" 我相信是你的意思
标签: json sql-server sql-update sql-server-2017