Sequelize如何在查询中比较日期的年份

Sequelize How compare year of a date in query(Sequelize如何在查询中比较日期的年份)
本文介绍了Sequelize如何在查询中比较日期的年份的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试进行此查询:

SELECT * FROM TABLEA 作为 WHERE YEAR(A.dateField)='2016'

如何以 sequelize 风格执行上述查询?

TABLEA.findAll({在哪里:{}//????}

谢谢!

解决方案

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

这里必须使用.where,因为表达式的左边(键)是一个对象,所以不能在常规POJO风格中作为对象键使用.p>

如果您想将其与其他条件相结合,您可以这样做:

TABLEA.findAll({在哪里: {$和:[sequelize.where(sequelize.fn('YEAR', sequelize.col('dateField')), 2016),{ foo: '酒吧' }]}});

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

I'm trying to make this query:

SELECT * FROM TABLEA AS A WHERE YEAR(A.dateField)='2016'

How can I perfome this query above in sequelize style?

TABLEA.findAll({
      where:{}//????
     }

Thanks!

解决方案

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

You have to use .where here, because the lefthand side of the expression (the key) is an object, so it cannot be used in the regular POJO style as an object key.

If you want to combine it with other conditions you could do:

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

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

这篇关于Sequelize如何在查询中比较日期的年份的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)
SQL/MySQL: split a quantity value into multiple rows by date(SQL/MySQL:按日期将数量值拆分为多行)