在PostgreSQL中替换任何泛型jsonb的text值中的"-",可以使用jsonb_set
函数结合jsonb_each_text
函数来实现。
jsonb_each_text
函数将jsonb对象转换为键值对的形式,其中键为jsonb对象的键,值为jsonb对象的值。然后可以使用jsonb_set
函数来替换值中的"-"。
以下是一个示例代码:
UPDATE your_table
SET your_column = jsonb_set(your_column, '{key}', to_jsonb(replace(value, '-', '')))
FROM (
SELECT key, value
FROM your_table, jsonb_each_text(your_column)
) AS subquery
WHERE your_table.id = subquery.id;
上述代码中,your_table
是要更新的表名,your_column
是包含jsonb对象的列名,key
和value
是子查询中的别名,id
是用于连接子查询和主查询的列名。
这段代码将会遍历jsonb对象的每个键值对,将值中的"-"替换为空字符串,并更新到原始的jsonb对象中。
请注意,这只是一个示例代码,具体的表名、列名和条件需要根据实际情况进行修改。
关于PostgreSQL的更多信息和使用方法,可以参考腾讯云的相关产品和文档:
领取专属 10元无门槛券
手把手带您无忧上云