Jor*_*ash 5 sql postgresql json syntax-error sql-update
我有一些 JSONB 数据,如下所示:
content
id fields
0 {image: 'https://olddomain.com/file.jpg'}
1 {image: 'https://oldodmain.com/file2.jpg'}
Run Code Online (Sandbox Code Playgroud)
我想对其进行查找和替换,就像它是一个文本字段一样。我试过这个:
UPDATE content SET fields::text = REPLACE(fields::text, 'https://olddomain.com', 'https://newdomain.com');
Run Code Online (Sandbox Code Playgroud)
但这会出现语法错误。
Mur*_*nik 12
强制转换的结果不是左值,并且您不能为其赋值。但是,您可以获取replace
调用的文本结果并将其转换回jsonb
:
UPDATE content
SET fields =
REPLACE(fields::text, 'https://olddomain.com', 'https://newdomain.com')::jsonb;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2969 次 |
最近记录: |