使用sequelize将datetime转换为where条件的列的日期

Key*_*ria 8 javascript node.js sequelize.js

好的,

我想在查询时将列日期时间转换为日期.

任何人都可以帮我解决下面给出的查询的sequelize查询?

select * from ev_events where DATE(event_date) <= '2016-10-10'
Run Code Online (Sandbox Code Playgroud)

MrW*_*hog 14

你可以使用sequelize.fn:

Event.findAll({
  where: sequelize.where(sequelize.fn('date', sequelize.col('event_date')), '<=', '2016-10-10')
})
Run Code Online (Sandbox Code Playgroud)

我不得不猜测你是如何定义模型的.

  • 是的,这就是这样做的方法。这就是我的做法sequelize.where(sequelize.cast(mods.sequelize.col('event_date'), 'DATE'), '&gt;=', from_date)。但感谢您的帮助:) (2认同)
  • 如何使用此类查询添加AND something_id = 45? (2认同)
  • @Sachacr你可以通过`{where:{[Sequelize.Op.and]:[{id:45},Sequelize.where('date','=','2018-05-13')]}}来做到这一点` (2认同)