SQLite json_replace() 函数使用指南

来源:这里教程网 时间:2026-03-25 18:22:14 作者:

SQLite

json_replace()
函数在一个 JSON 文档中替换已存在的数据并返回新的 JSON 文档。

json_replace()
语法

这里是 SQLite

json_replace()
的语法:

json_replace(json, path, value[, path2, value2] ...)

参数

json
必需的。被修改的 JSON 文档。
path
必需的。一个有效的路径表达式。
value
必需的。新的数据。

返回值

json_replace()
函数在一个 JSON 文档中替换已存在的数据并返回新的 JSON 文档。您可以提供多对
path-value
参数,以便一次替换多个数据。

json_replace()
函数只能替换已经存在的数据。如果 JSON 文档中不存在指定的路径,则不会插入数据。

如果参数

json
不是有效的 JSON 文档,SQLite 将会给出错误。您可以使用
json_valid()
验证 JSON 文档的有效性。

json_replace()
示例

在 JSON 数组中替换

让我们将数组

[1, [2, 3]]
的第一个元素和第三个元素替换为新值:

SELECT json_replace('[1, [2, 3]]', '$[0]', 0, '$[2]', 6);

json_replace('[1, [2, 3]]', '$[0]', 0, '$[2]', 6)-------------------------------------------------[0,[2,3]]

这里,我们想要把数组的将第一个元素替换为

0
,将数组的第三个元素替换为
6

我们发现,数组的第一个元素成功的被替换为了

0
。然后,数组的最后没有插入
6
。这是因为
json_replace()
函数只替换已经存在的数据。

在 JSON 对象中替换

让我们将对象

{"x": 1, "y": 1}
中的
y
的值修改为
2
:

SELECT json_replace('{"x": 1, "y": 1}', '$.y', 2);

json_replace('{"x": 1, "y": 1}', '$.y', 2)------------------------------------------{"x":1,"y":2}

相关推荐

热文推荐