[英]NodeJs SQLite query returns other values than direct SQL on database
我对我现在的处境有些疑惑。
我有一个简单的 SQL 语句,我从 NodeJs 在 SQLite 数据库上执行。 SQL 语句返回带有很多小数的值; 虽然我的数据只包含两位小数。
当我在 DB Browser 中针对 SQLite 运行完全相同的查询时,我得到了正确的结果。
我的 NodeJs 代码
app.get('/payerComparison/', (req, res) => {
// Returns labels and values within response
var response = {};
let db = new sqlite3.Database('./Spending.db', sqlite3.OPEN_READONLY, (err) => {
if(err){console.log(err.message); return}
});
response['labels'] = [];
response['data'] = [];
db.each("SELECT payer, sum(amount) AS sum FROM tickets GROUP BY payer", (err, row) => {
if(err){console.log(err.message); return}
response['labels'].push(row.payer);
response['data'].push(row.sum);
});
db.close((err) => {
if(err){console.log(err.message); return}
// Send data
console.log(response);
res.send(JSON.stringify(response));
});
})
我在命令行中有什么
{
labels: [ 'Aurélien', 'Commun', 'GFIS', 'Pauline' ],
data: [ 124128.26, 136426.43000000008, 5512.180000000001, 39666.93 ]
}
数据库浏览器中的结果
希望你能帮我解开这个谜团! 谢谢
将值四舍五入到 2 位小数:)。
SELECT payer, round(sum(amount),2) AS sum FROM tickets GROUP BY payer
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.