本文介绍了PSQL副本中的变量替换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以在PSQL控制台导出文件中将当前日期作为文件名的末尾?导出文件的名称应如下所示TABLE_20140710.csv是否可以动态执行此操作?-日期的格式可以与上面的格式不同,这并不重要。

这就是我所指的例子:

set curdate current_date
copy (SELECT * FROM table) To 'C:/users/user/desktop/table_ ' || :curdate  || '.csv' WITH DELIMITER AS ';' CSV HEADER

推荐答案

动态构建copy命令并将其存储在文件中。然后使用i

执行它

第一次仅设置元组输出

	

将输出设置为文件

o 'C:/users/user/desktop/copy_command.txt'

生成copy命令

select format(
    $$copy (select * from the_table) To 'C:/users/user/desktop/table_%s.csv' WITH DELIMITER AS ';' CSV HEADER$$
    , current_date
);

将输出恢复为stdout

o

从文件执行生成的命令

i 'C:/users/user/desktop/copy_command.txt'

这篇关于PSQL副本中的变量替换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-01 13:14