gpt4 book ai didi

sql-server - 无法使用 npm mssql 和 Node.js 将浮点值存储到 sql server

转载 作者:太空宇宙 更新时间:2023-11-04 00:22:38 24 4
gpt4 key购买 nike

我正在尝试执行简单的 UPDATE 查询并存储一个百分比值,该值将进入我的 sql server 数据库中 float 类型的百分比列中。

当我这样做时:

var percentage = 3.1415;
const updateAttendence = await sql.query `UPDATE Attendence SET percentage = ${ percentage } WHERE session_id = ${ parseInt( req.body.session ) } AND student_id = ${ parseInt( req.body.AttendanceData[i].id ) } `;

我在我的数据库中得到了这个

enter image description here

当我这样做时 - 将 percentage = ${ Percentage } 替换为 percentage = 3.1415

const updateAttendence = await sql.query `UPDATE Attendence SET percentage = 3.1415 WHERE session_id = 1  AND student_id = 1 ` 

我得到了我想要的百分比= ${百分比}

enter image description here

我不明白为什么它没有按预期工作。是只有我还是其他人遇到这个问题?对于如此简单的事情变成问题的解决方案是什么(至少对我来说)。

-谢谢

最佳答案

这似乎是 node-mssql 中的一个错误,它假定数值是整数。您可以使用 .input 方法将该值指定为其他值,但随后您将无法使用标记的模板文字。

const updateAttendence = await pool.request()
.input('percentage', sql.Float, percentage)
.input('session_id', sql.Int, req.body.session)
.input('student_id', sql.Int, req.body.AttendanceData[i].id)
.query(`UPDATE Attendence SET percentage = @percentage
WHERE session_id = @session_id
AND student_id = @student_id`);

关于sql-server - 无法使用 npm mssql 和 Node.js 将浮点值存储到 sql server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44035016/

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