Mysql
 sql >> Database >  >> RDS >> Mysql

Sequelize Come confrontare l'anno di una data nella query

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

Devi usare .where qui, perché il lato sinistro dell'espressione (la chiave) è un oggetto, quindi non può essere utilizzato nello stile POJO regolare come chiave oggetto.

Se vuoi combinarlo con altre condizioni potresti fare:

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

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