我想使用mssql和nodejs中的sequelize查询从sql server的两个日期之间获取所有数据。
开始和结束日期来自使用axios.post响应前端。例如,开始日期为2021-01-04T08:53:00.000Z
,结束日期为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列中显示如下
我不知道该怎么办。
感谢帮助。
您可能使用了错误的日期时间格式。2021-01-05T21:00:00.000Z 23:59:00
与传统的ISO 8601不符。
如果要在2021-01-04T08:53:00.000Z
和之间输入所有条目2021-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 );
希望对您有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句