【发布时间】:2012-01-23 19:00:09
【问题描述】:
可能重复:
Dynamically-generated table-name in PostgreSQL COPY command
我在 postgresql 中使用了复制到文件功能,效果很好。
当前代码如下所示
COPY table
TO 'filename.txt'
这很好用,但我想在文件名中添加日期。
所以我尝试了
COPY table
TO 'filename' || CURRENT_DATE || '.txt'
没有成功。
我也试过把它放在查询中
COPY table
TO (select 'filename' || CURRENT_DATE || '.txt')
有人愿意帮我吗?
编辑
我认为问题是,函数COPY TO 需要一个字符串作为目标。然后我输入一个查询,返回一个结果集......
【问题讨论】:
-
“没有成功”是什么意思?有错误信息吗?
-
其实我是在一个pgAgent作业中运行的,只能看查询是运行成功还是失败。
-
当前日期将包含 2012 年 12 月 19 日。许多操作系统不支持文件名中的 /。也许您需要以不同的方式格式化日期,以便不包括 /。
-
我投票赞成 Kublai Khan 链接到的问题,但后来我意识到这个问题实际上是关于动态生成的 table-name 而不是 文件名。 (我已将该问题编辑得更清楚。)鉴于这种差异,我不确定合并这些问题是否有意义:它们具有相同的解决方案,但出于不同的原因。
-
@ruakh - 您对问题之间的区别是正确的,感谢您注意到这一点。这可能不应该关闭。
标签: sql postgresql concatenation