Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Sequelize Jak porównać rok z datą w zapytaniu

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

Musisz użyć .where tutaj, ponieważ lewa strona wyrażenia (klucz) jest obiektem, więc nie może być używana w zwykłym stylu POJO jako klucz obiektowy.

Jeśli chcesz połączyć to z innymi warunkami, możesz zrobić:

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

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Upsert i auto-inkrementacja MySql powodują luki

  2. Jak uzyskać losową wartość domyślną dla kolumny w MySQL/Rails?

  3. Jeden do wielu/wiele do wielu SQL

  4. MySQL z Sequelize:ER_BAD_DB_ERROR:Nieznana baza danych

  5. MySQL przyznaje wszystkie uprawnienia do bazy danych z wyjątkiem jednej tabeli