使用适当的布尔值将psql结果导出到csv

时间:2017-12-29 13:53:07

标签: java postgresql csv

我目前正在使用java服务中的copyManager从psql获取csv字符串。

String selectQuery = "SELECT * FROM table";
copyManager.copyOut("COPY (" + selectQuery + ") TO STDOUT WITH CSV HEADER", csaString);

但是在结果字符串中,所有布尔值都为't'/'f'。如何将布尔值设为'true''false'。我可以提供一些配置吗?

这个表有很多列,所以如果我用一个案例来改变它,我还必须指定我想要避免的所有其他列。

1 个答案:

答案 0 :(得分:0)

我担心没有配置。您可以做的最好的事情是将布尔列作为文本。你当然要列出列......

示例:

db=# select *,is_dst::text from pg_timezone_names limit 1;
      name      | abbrev | utc_offset | is_dst | is_dst
----------------+--------+------------+--------+--------
 Africa/Abidjan | GMT    | 00:00:00   | f      | false
(1 row)

Here are Toms thoughts on it