sql - PostgreSQL:如何使用带有动态替换文本的 REPLACE
问题描述
我正在尝试使用简单的模板字符串为表download_url
的每一行生成字符串 , 。每行的应替换到模板字符串中。dataset
REPLACE
id
这是我在下面尝试过的。鉴于id
子查询与外部查询相关,我认为这会起作用:
SELECT id,
name,
REPLACE('https://example.com/dataset/{id}/download/', '{id}', id)
as download_url
FROM dataset;
但我收到一个错误,表明不存在函数:
[42883] 错误:函数替换(未知,未知,整数)不存在 提示:没有函数与给定名称和参数类型匹配。您可能需要添加显式类型转换。
解决方案
我应该已经阅读了错误信息并正确提示!
解决方案是id
像这样转换为字符串:
SELECT id,
name,
REPLACE('https://example.com/dataset/{id}/download/', '{id}', id::varchar) as download_url
FROM dataset;
推荐阅读
- elixir - 如何从带有凤凰后端的榆树的静态资产中获取图像?
- c++ - 具有可变数量的参数的函数,这些参数被转换为字符串
- sql - 基于多个表和条件进行过滤的 SQL 命令
- python - 当我从 random.choice 行获得某行代码时,我正试图结束我的游戏
- python - Python记录端口514文件夹/yyyy/mm/dd
- sql - 将一排匹配到两排,无需替换
- python - 给定一个 1D ndarray 和一个整数,生成这个 ndarray 的最有效方法是什么?
- javascript - Paginationjs 的 Ajax 调用忽略文本字段值以进行过滤
- c++ - 单链表更新头指向自身?
- python - 如何显示用户输入的最大值和最小值?