Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL:如何使用替换为动态替换文本_Sql_Postgresql - Fatal编程技术网

PostgreSQL:如何使用替换为动态替换文本

PostgreSQL:如何使用替换为动态替换文本,sql,postgresql,Sql,Postgresql,我正在尝试为数据集表的每一行使用一个简单的模板字符串替换,生成字符串download\u url。应将每行的id替换为模板字符串 下面是我试过的。考虑到子查询中的id与外部查询相关联,我认为这会起作用: SELECT id, name, REPLACE('https://example.com/dataset/{id}/download/', '{id}', id) as download_url FROM dataset; 但我收到一个错误,指示不存在任何函数:

我正在尝试为
数据集
表的每一行使用一个简单的模板字符串
替换
,生成字符串
download\u url
。应将每行的
id
替换为模板字符串

下面是我试过的。考虑到子查询中的
id
与外部查询相关联,我认为这会起作用:

SELECT id,
       name,
       REPLACE('https://example.com/dataset/{id}/download/', '{id}', id) 
as download_url
FROM dataset;
但我收到一个错误,指示不存在任何函数:

[42883]错误:函数替换(未知、未知、整数)不存在提示:没有与给定名称和参数类型匹配的函数。您可能需要添加显式类型转换


我应该正确地阅读错误消息和提示

解决方案是将
id
转换为如下字符串:

选择id,
名称
替换('https://example.com/dataset/{id}/download/','{id}',id::varchar)作为下载url
来自数据集;