繁体   English   中英

NodeJs SQLite 查询返回数据库上直接 SQL 以外的其他值

[英]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 ]
}

数据库浏览器中的结果

DB Browser 中查询结果的打印屏幕

希望你能帮我解开这个谜团! 谢谢

将值四舍五入到 2 位小数:)。

SELECT payer, round(sum(amount),2) AS sum FROM tickets GROUP BY payer

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM