我正在尝试使用带有简单模板字符串的download_url
为dataset
表的每一行生成字符串REPLACE
。每行的id
应替换为模板字符串。
这是我在下面尝试过的方法。鉴于子查询中的id
与外部查询相关,我认为这会起作用:
SELECT id,
name,
REPLACE('https://example.com/dataset/{id}/download/', '{id}', id)
as download_url
FROM dataset;
但是我收到一条错误消息,表明不存在任何功能:
[42883]错误:函数replace(未知,未知,整数)不存在提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。
答案 0 :(得分:1)
我应该已经阅读错误消息并正确提示!
解决方案是将id
转换为类似这样的字符串:
SELECT id,
name,
REPLACE('https://example.com/dataset/{id}/download/', '{id}', id::varchar) as download_url
FROM dataset;