Sequelize Query to find all records that falls in between date range(Sequelize Query 查找日期范围内的所有记录)
问题描述
我有一个带有列的模型:
from: { type: Sequelize.DATE }
to: { type: Sequelize.DATE }
我想查询 from 或 to 介于日期范围之间的所有记录:[startDate, endDate]
I want to query all records whose either from OR to falls in between the date ranges : [startDate, endDate]
试过类似的东西:
const where = {
$or: [{
from: {
$lte: startDate,
$gte: endDate,
},
to: {
$lte: startDate,
$gte: endDate,
},
}],
};
类似的东西:
SELECT * from MyTable WHERE (startDate <= from <= endDate) OR (startDate <= to <= endDate
推荐答案
适合我的解决方案是:-
The solution which works for me is this:-
// here startDate and endDate are Date objects
const where = {
from: {
$between: [startDate, endDate]
}
};
更多关于运营商的参考:- http://docs.sequelizejs.com/en/latest/docs/querying/#operators
For reference to know more about operators:- http://docs.sequelizejs.com/en/latest/docs/querying/#operators
注意:在MYSQL中,between比较运算符是inclusive,这意味着它等价于表达式(startDate <= from AND from <= endDate).
Note:
In MYSQL between comparison operator is inclusive, which means it is equivalent to the expression (startDate <= from AND from <= endDate).
这篇关于Sequelize Query 查找日期范围内的所有记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Sequelize Query 查找日期范围内的所有记录
基础教程推荐
- 无法解决整理冲突 2021-01-01
- 如何使用 mysql.connector 禁用查询缓存 2022-01-01
- SQL:使用来自具有相同列名的两个表中的数据... 2021-01-01
- 需要 MySQL 5.1 中的抽象触发器来更新审计日志 2021-01-01
- SQL Server 实例在登录协商期间返回无效或不受支持的协议版本 2021-01-01
- SSMS 中的权限问题:“对象 'extended_properties'、数据库 'mssqlsystem_resource'、... 错误 229)上的 SELECT 权限被拒绝" 2022-01-01
- SQL 效率:WHERE IN 子查询 vs. JOIN 然后 GROUP 2021-01-01
- 是否可以执行按位分组功能? 2021-01-01
- 将 SQL Server DateTime 列迁移到 DateTimeOffset 2021-01-01
- 在 SQL 中连接多个表 2021-01-01
