使用 sequelize 将 datetime 转换为 where 条件下的列的日期
Posted
技术标签:
【中文标题】使用 sequelize 将 datetime 转换为 where 条件下的列的日期【英文标题】:Convert datetime to date of a column in where condition using sequelize 【发布时间】:2016-10-09 22:57:30 【问题描述】:好的,
我想在查询时将列日期时间转换为日期。
谁能帮我解决以下给定查询的后续查询?
select * from ev_events where DATE(event_date) <= '2016-10-10'
【问题讨论】:
【参考方案1】:sequelize.and(
id: '111',
sequelize.where(
sequelize.fn('date', sequelize.col('event_date')),
'<=', '2016-10-10'
)
)
【讨论】:
【参考方案2】:你可以使用sequelize.fn
:
Event.findAll(
where: sequelize.where(sequelize.fn('date', sequelize.col('event_date')), '<=', '2016-10-10')
)
我不得不猜测你是如何定义你的模型的。
【讨论】:
是的,这就是这样做的方法。我就是这样做的 sequelize.where(sequelize.cast(mods.sequelize.col('event_date'), 'DATE'), '>=', from_date)。但是感谢您的帮助:) 你如何处理这种类型的查询来添加 AND something_id = 45 ? @Sachacr 你可以通过 where: [Sequelize.Op.and]: [ id: 45 , Sequelize.where('date', '=', '2018-05-13') ]
来做到这一点
@KeyurSakaria 在评论中的回答对我有用(我只需要删除模组。)。接受的答案对我不起作用。我收到错误 - “日期”不是函数。以上是关于使用 sequelize 将 datetime 转换为 where 条件下的列的日期的主要内容,如果未能解决你的问题,请参考以下文章
sequelize存在数据库的时间是DATETIME类型,怎么查询时间段的数据