postgresql 使用一个查询重命名 json 字符串中的多个子字符串

安东

我想保存更新请求。所以不要这样做:

update table set column = REPLACE(column,'abc','xyz');
update table set column = REPLACE(column,'def','uvw');
...

我想做这样的事情:

UPDATE table
SET column =
CASE
    WHEN column like '%"abc":%' THEN REPLACE(column,'"abc":','"xyz":')
    WHEN column like '%"def":%' THEN REPLACE(column,'"def":','"uvw":')
    ...
END
WHERE COLUMN2 = 'something';

但这不是我需要的那种循环。它只替换它找到的第一个匹配项。

我知道我也可以做这样的事情:

update table
set column = REPLACE(REPLACE(column,'abc','xyz'),'def','uvw')
where COLUMN = 'something';

但我不知道他们每个人的表现。

斯拉瓦·连斯基

您可以为嵌套替换尝试不同的格式:

update table
set column =    REPLACE(
                REPLACE(
                REPLACE(
                REPLACE(column, 'abc','xyz'),
                                'def','uvw'),
                                'zxc','acv'),
                                'xcv','bvn')
where COLUMN = 'something';

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何基于PostgreSQL中JSON中的另一个字符串从JSON查询字符串?

PostgreSQL SELECT 和 REPLACE 多个字符串到一个列中

在 SQL 中查询 JSON 字符串

从postgresql中json文件的结果中选择字符串

连接Postgresql json数组中对象的字符串值

使用 JSON 字符串键重命名 JSON 字符串到 Java 对象

捕获一组中的多个子字符串

如何在PostgreSQL“分组依据”查询中连接字符串字段的字符串?

如何在PostgreSQL中获取一列字符串的字符串长度

PostgreSQL如何查询字符串数组

PostgreSQL UPDATE 查询字符串太长?

从JSON中提取一个int,字符串,布尔值等作为其对应的PostgreSQL类型

在PostgreSQL中执行动态查询字符串

NodeJS –在PostgreSQL查询中添加字符串数组

使用PostgreSQL找到流行的字符串

PostgreSQL使用子字符串排序

在一个字符串中查找多个子字符串而无需多次迭代

使用 postgresql 在大文本中查找字符串

如何替换PostgreSQL中字符串的最后一个字符?

JSON字符串可使用多个类进行验证

使用R中的stringi提取字符串中某些字符之后的多个子字符串

在 Web api 的查询字符串中传递一个 json 对象?

如何使用.NET将字符串追加到从Blob派生的JSON字符串中?

修改JSON字符串,比较另一个JSON字符串

在Delphi中解析包含另一个jsonstring的字符串数组的JSON字符串

Python:解析JSON字符串并在一行中包含多个嵌套字典

使用Powershell根据文本中的其他子字符串更改文本中的多个子字符串

如何使用python将json中的多个字符串数组转换为csv?

获取字符串中的最后一个子字符串?