Siva Dasari Asked: 2020-02-04 16:22:26 +0800 CST2020-02-04 16:22:26 +0800 CST 2020-02-04 16:22:26 +0800 CST 无法使用 SQL Server 中的 JSON_MODIFY 函数更新键值之一 772 我有以下 json 记录,我正在尝试使用 JSON_MODIFY 函数将“counter2”值更新为 2000。该查询不会引发任何异常,但同时该值没有得到更新。 表数据: json数据: [ {"counter1": 9, "counter2": 1000, "counter3": 109 }] SQL: UPDATE test01 set json_data = JSON_MODIFY(json_data,'$.counter2',2000) where test01_id =10 我在这里错过了什么吗? sql-server sql-server-2016 1 个回答 Voted Best Answer HandyD 2020-02-04T17:01:42+08:002020-02-04T17:01:42+08:00 您的“计数器”属性位于数组中的对象中,因此 JSON_MODIFY 中的 JSON 路径不正确。您需要引用数组中项目的索引才能正确更新值: UPDATE test01 set json_data = JSON_MODIFY(json_data,'$[0].counter2',2000) where test01_id =10 如果数组中有其他对象具有不同的计数器 1/2/3 值,那么您需要使用它们的正确索引来引用它们,即 [1]、[2] 等等。您可以在此处查看一个工作示例。
您的“计数器”属性位于数组中的对象中,因此 JSON_MODIFY 中的 JSON 路径不正确。您需要引用数组中项目的索引才能正确更新值:
如果数组中有其他对象具有不同的计数器 1/2/3 值,那么您需要使用它们的正确索引来引用它们,即 [1]、[2] 等等。您可以在此处查看一个工作示例。