📅  最后修改于: 2023-12-03 15:35:22.942000             🧑  作者: Mango
在某些情况下,需要更新或替换 JSON 中的值。在 SQL Server 中,可以使用 T-SQL 中提供的相关函数和语法来实现这一功能。
以下是在 T-SQL 中更新或替换 JSON 值时常用的一些相关函数:
JSON_MODIFY
: 用于更新 JSON 中的值,其语法如下:
JSON_MODIFY ( expression , path , newValue )
其中,expression
是要修改的 JSON,path
表示要修改的值的路径,newValue
表示新的值。
JSON_QUERY
: 用于获取 JSON 中的值,其语法如下:
JSON_QUERY ( expression , path )
其中,expression
是要查询的 JSON,path
表示要查询的值的路径。
JSON_VALUE
: 用于获取 JSON 中的标量值,其语法如下:
JSON_VALUE ( expression , path )
其中,expression
是要查询的 JSON,path
表示要查询的值的路径。
假设有一个表 Users
,其中包含用户的信息:
CREATE TABLE Users (
UserId INT PRIMARY KEY,
Info NVARCHAR(MAX)
);
INSERT INTO Users (UserId, Info)
VALUES (1, '{"name": "John", "age": 25, "email": "john@example.com"}'),
(2, '{"name": "Mary", "age": 30, "email": "mary@example.com"}');
现在需要更新 ID 为 1 的用户的年龄为 30,可以使用以下 SQL 语句来实现:
UPDATE Users
SET Info = JSON_MODIFY(Info, '$.age', 30)
WHERE UserId = 1;
如果需要查询 ID 为 1 的用户的邮箱地址,可以使用以下 SQL 语句:
SELECT JSON_VALUE(Info, '$.email')
FROM Users
WHERE UserId = 1;
以上 SQL 语句将返回 john@example.com
。
通过 T-SQL 中相关的函数和语法,我们可以轻松地更新或替换 JSON 中的值。这些函数非常强大且易于使用,可以满足大多数场景下的需要。