sql >> Databasteknik >  >> RDS >> Mysql

Sequelize Hur jämför år för ett datum i fråga

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

Du måste använda .where här, eftersom den vänstra sidan av uttrycket (nyckeln) är ett objekt, så det kan inte användas i den vanliga POJO-stilen som en objektnyckel.

Om du vill kombinera det med andra villkor kan du göra:

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

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



  1. Räkna antalet element i en kommaseparerad sträng i Oracle

  2. Vad är det förväntade beteendet för flera set-returnerande funktioner i SELECT-satsen?

  3. Hämta distinkta värden med LISTAGG i Oracle 12C

  4. Duplicera (upprepa) rader i sql-frågeresultat