当我尝试从sqlite3数据库中选择数据并使用node.js模块Better-sqlite3获取值时,遇到了我要获取的整数的最后两位四舍五入的问题。
例如,当我得到值时
123412341234123412
它返回为
123412341234123400
我使用了与我在数据库浏览器中选择值时使用的完全相同的SQL,它可以按我期望的方式工作(不舍入数字),但是当我在Better-sqlite3中执行此操作时,它总是舍入这些值。
这是我在Better-sqlite中使用的代码:
let getclocked = db.prepare("SELECT messageID FROM clocked WHERE clockedUID = ?").get(id)
console.log(getclocked)
控制台中的返回值:
{ messageID: 643562287101116400 }
我数据库中的值(与插入的值相同,使用DB Browser for SQLite查看):
643562287101116427
我也尝试使用.all()、. iterate()、. pluck()和.raw()代替/getside.get(),这给了我相同的结果。表格中也会出现其他值。
(这是我用来创建表的SQL):
CREATE TABLE IF NOT EXISTS "clocked" (
"clockedUID" INTEGER NOT NULL UNIQUE,"time" TEXT NOT NULL,"messageID" INTEGER,PRIMARY KEY("clockedUID")
);
SQLite和Better-sqlite3的新手,因此感谢您提供任何帮助!谢谢!