【发布时间】:2018-08-09 10:17:30
【问题描述】:
我正在查询以在 ubuntu-server 上运行的 postgres 中将结果导出为 CSV。
查询是从通过 node-postgres-driver(https://node-postgres.com/) 连接到 Postgres 的 Node-API 调用的。
查询如下所示:
var sqlText =
'Copy (SELECT company.name AS Company, SUM(sale.numbersold) AS NumberSold
FROM SALE LEFT JOIN company ON company.companyid = sale.companyid
WHERE sale.createdate BETWEEN $1 AND $2 GROUP BY company.name)
To \'/tmp/test.csv\' With CSV HEADER DELIMITER \',\'';
每当我尝试将此查询与参数一起使用时,我都会得到一个异常,即 postgres 期望 0 个参数并得到 2 个。如何将参数发送到这样的查询?
如果我使用这样的静态文本进行查询,它会起作用:
var sqlText = 'Copy (SELECT company.name AS Company, SUM(sale.numbersold) AS NumberSold
FROM SALE LEFT JOIN company ON company.companyid = sale.companyid
WHERE sale.createdate BETWEEN \'2018-01-01\' AND \'2018-01-01\'
GROUP BY company.name)
To \'/tmp/test.csv\' With CSV HEADER DELIMITER \',\'';
节点中的代码:
var params = ['2018-01-01', '2018-01-28']
let dbResult;
try {
dbResult = await GetStuff(sqlText, params);
} catch (err) {
}
【问题讨论】:
标签: sql node.js postgresql node-postgres