sql - 更新 JSON 数组中的元素,没有键
问题描述
我想更新 @CarJaosn 中的第 0 个元素 CarId。数组对象没有键
DECLARE @CarJaosn VARCHAR(MAX) =
'[
{
"CarTd": 1208,
"HoldReasonEnum":2,
"Attachment": '',
"FromDate":"2021-08-18",
"ToDate":"2021-08-18"
}
]'
我试过了
SET @CarJaosn = JSON_MODIFY(@CarJaosn, '$.[0].CarTd', 5);
有什么方法可以解决吗?
解决方案
JSON根是一个数组,所以不是:
SET @CarJaosn = JSON_MODIFY(@CarJaosn, '$.[0].CarTd', 5);
只需使用:
SET @CarJaosn = JSON_MODIFY(@CarJaosn, '$[0].CarTd', 5);
推荐阅读
- python - 保存用户输入
- python-3.x - 使用opencv(python3中的cv2)检测对象是否具有3种颜色中的特定颜色
- java - 在 CompletableFuture.allof 中处理超时并记录超时期货的正确方法
- powershell - Psexec command to run powershell script with parameters
- java - Java RestHighLevelClient 与 AWS ElasticSearch
- sql - 在 PostgreSQL JSON 中转义正斜杠
- php - 在 PHP 中将值设置为 JSON 对象数组
- java - 如何在没有 AuthoritiesExtractor 的情况下限制特定域使用 Spring-Boot 和 OAuth2 登录?
- python - Python Panda DF - 如何检查整个 DF 中是否存在特定字符并全局替换它
- c# - 在 MVC 应用程序中使用 Timer 每 5 分钟执行一次任务