Séqueliser la requête pour trouver tous les enregistrements qui tombe entre la gamme de date
j'ai un modèle avec des colonnes :
from: { type: Sequelize.DATE }
to: { type: Sequelize.DATE }
et à interroger tous les enregistrements dont le from
OU to
se situe entre les plages de dates : [startDate, endDate]
j'ai essayé quelque chose comme :
const where = {
$or: [{
from: {
$lte: startDate,
$gte: endDate,
},
to: {
$lte: startDate,
$gte: endDate,
},
}],
};
quelque Chose comme : Sélectionnez * dans MyTable WHERE (startDate <= from <= endDate) OR (startDate <= to <= endDate
17
demandé sur
Akshay Pratap Singh
2017-03-30 13:26:48
1 réponses
La solution qui fonctionne pour moi, c'est ceci:-
# here startDate and endDate are Javascript Date object
const where = {
from: {
$between: [startDate, endDate]
}
};
De référence pour en savoir plus sur les opérateurs:- http://docs.sequelizejs.com/en/latest/docs/querying/#operators
Remarque:
MYSQLbetween
opérateur de comparaison inclusive, ce qui signifie qu'il est équivalente à l'expression (startDate <= from AND from <= endDate)
.
24
répondu
Akshay Pratap Singh
2017-03-31 08:58:07