Mysql
 sql >> Base de données >  >> RDS >> Mysql

Sequelize Comment comparer l'année d'une date dans la requête

TABLEA.findAll({
  where: sequelize.where(sequelize.fn('YEAR', sequelize.col('dateField')), 2016)
 });

Vous devez utiliser .where ici, parce que le côté gauche de l'expression (la clé) est un objet, il ne peut donc pas être utilisé dans le style POJO normal comme clé d'objet.

Si vous voulez le combiner avec d'autres conditions, vous pouvez faire :

TABLEA.findAll({
  where: {
    $and: [
      sequelize.where(sequelize.fn('YEAR', sequelize.col('dateField')), 2016),
      { foo: 'bar' }
    ]
  }
 });

https://sequelize.org/v3/docs/querying/#operators