node.js - 从sql server获取两个日期之间的数据

标签 node.js sql-server reactjs express sequelize.js

我想使用 mssql 和 nodejs 中的 sequelize 查询从 sql server 获取两个日期之间的所有数据。
开始和结束日期来自 react frontend with axios.post。
例如,开始日期是 2021-01-04T08:53:00.000Z,结束日期是 express 中的 2021-01-05T21:00:00.000Z

app.post('/getData', function (req, res) {
  let startTime=req.body.start
  let endTime=req.body.end

  sequelize.query(` select Date_Time from S001T01  where Date_Time between ${startTime} and ${endTime}`, {
    type: sequelize.QueryTypes.SELECT
  }).then(result => {
    console.log(result)
})

});

它返回许多错误,其中之一是 UnhandledPromiseRejectionWarning: SequelizeDatabaseError: Invalid column name '2021-01-05T21:00:00.000Z 23:59:00'.
在表查看器 Date_Time 列中显示如下
enter image description here
我不知道我该怎么办。
感谢帮助。

最佳答案

您可能有错误的日期时间格式。 2021-01-05T21:00:00.000Z 23:59:00 不对应于传统的 ISO 8601
如果您想要 2021-01-04T08:53:00.000Z2021-01-05T21:00:00.000Z 之间的所有条目,您的 SQL 查询应如下所示:

select Date_Time from S001T01  where Date_Time between 2021-01-04T08:53:00.000Z and 2021-01-05T21:00:00.000Z
您还应该考虑在串联时使用修改后的日期时间。
也许类似的事情应该做的工作:
var dt = new Date();
dt.setHours( dt.getHours() + 2 );
我希望它对你有帮助。

关于node.js - 从sql server获取两个日期之间的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66221927/

相关文章:

sql - 如何使用 SQL Server 2008 将两个表数据合并为一个表

mysql - mysql.createpool函数是同步还是异步?

node.js - Passport JS管理员用户验证

javascript - 如何解决错误 "ERR! code ELIFECYCLE"?

react 中的CSS网格动画

html - 文本从 div 的底部开始

javascript - 如何给 setState 函数一个事件

javascript - 如何从另一个 Node.js 脚本中运行 Node.js 脚本

sql-server - 在连接关闭的情况下在 SQL Server 上保持事务打开

SQL 服务器 : How can I autofill out columns for a table instead of having to type them out?