gpt4 book ai didi

node.js - 从sqlite3获取BIGINT值

转载 作者:太空宇宙 更新时间:2023-11-03 21:50:05 25 4
gpt4 key购买 nike

我使用这个模块https://www.npmjs.org/package/sqlite3用于 sqlite3 的工作。

我需要从数据库保存/加载大整数,但我不能,因为保存数字后的结果不同。

我的代码:

var sql = require('sqlite3');

var db = new sql.Database(':memory:');

db.serialize(function() {
db.run("CREATE TABLE lorem (info BIGINT)");

var stmt = db.prepare("INSERT INTO lorem VALUES ($value)");
stmt.bind({
$value : "1000000000012312312"
});

stmt.run(function (err) {
if (err) {
console.log(err);
} else {
db.all("SELECT info FROM lorem", function (err, r) {
if (err) {
console.log(err);
} else {
console.log(r)
}
})
}
});

结果:

  [ { info: 1000000000012312300 } ]

所以,结果是不同的。我保存了 1000000000012312312,我得到了 1000000000012312300。

我认为我需要将结果数从 sqlite 转换为字符串,但我不知道该怎么做。

最佳答案

JavaScript 没有大整数,因此大数必须用 float 来近似。

要将值转换为字符串,请使用 CAST expression :

SELECT CAST(info AS TEXT) AS info FROM lorem

关于node.js - 从sqlite3获取BIGINT值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26817925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com