sql >> Database >  >> RDS >> Mysql

Sequelize Hoe vergelijk jaar van een datum in query

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

Je moet .where . gebruiken hier, omdat de linkerkant van de uitdrukking (de sleutel) een object is, dus het kan niet worden gebruikt in de reguliere POJO-stijl als een objectsleutel.

Als u het wilt combineren met andere voorwaarden, kunt u het volgende doen:

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

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



  1. invoegen in database vanuit dubbel tekstveld indien niet leeg php sql

  2. Willekeurige datum invoegen/bijwerken in MySQL

  3. Regelnummer in sql-server zoals LINE in USER_SOURCE oracle

  4. sqlite geretourneerd:foutcode =1, msg =geen dergelijke kolom:keuken1