📅  最后修改于: 2023-12-03 15:34:56.543000             🧑  作者: Mango
在 Sequelize 中,我们可以使用各种操作符来比较不同的列的值。当比较日期时,我们可以使用以下操作符:
Op.gt
:大于Op.gte
:大于等于Op.lt
:小于Op.lte
:小于等于Op.between
:在两个值之间Op.notBetween
:在两个值之外我们需要使用这些操作符之一来比较日期。下面是一个示例,我们将使用 Op.between
操作符来找到在 startDate
和 endDate
之间的所有记录:
const { Op } = require('sequelize');
const { YourModel } = require('../models'); // 导入你的 Sequelize 模型
const startDate = new Date('2021-01-01');
const endDate = new Date('2021-12-31');
const records = await YourModel.findAll({
where: {
dateField: {
[Op.between]: [startDate, endDate],
}
},
});
在上面的代码中,我们首先导入了 Sequelize 的 Op
对象和你的模型。然后,我们定义了要比较的两个日期,并使用 Op.between
操作符将它们传递给 where
子句。最后,我们调用 findAll
方法来获取所有符合条件的记录。
需要注意的是,dateField
是你模型中用来存储日期的字段名。你需要将其替换为你自己的字段名。
还有其他可以用于比较日期的操作符,可以根据具体需要进行使用。上面的示例仅是其中一种用法。
总之,使用 Sequelize 在两列中比较日期非常简单。只需选择一个适当的操作符,将要比较的日期传递给 where
子句,然后调用 findAll
或其他适当的方法即可。