Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Sequelize Como comparar o ano de uma data na consulta

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

Você tem que usar .where aqui, porque o lado esquerdo da expressão (a chave) é um objeto, portanto, não pode ser usado no estilo POJO regular como uma chave de objeto.

Se você quiser combiná-lo com outras condições, você pode fazer:
TABLEA.findAll({
  where: {
    $and: [
      sequelize.where(sequelize.fn('YEAR', sequelize.col('dateField')), 2016),
      { foo: 'bar' }
    ]
  }
 });

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