[英]Querying a timestamp by date with Sequelize
我想通过createdAt
列在数据库中找到一些条目,但仅使用日期即可。 我正在使用postgres, createdAt
是一个timestamptz
。 这是条目中条目示例的示例: 2019-02-27 20:17:07.05+00
这就是我的查询设置:
const dateString = momentDate.format('YYYY-MM-DD')
query.createdAt = { $iLike: `%${dateString}` }
不幸的是,这无法正常工作,并且出现以下错误:
重试承诺:错误SequelizeDatabaseError:运算符不存在:时区为~~ *的时间戳未知
问题可能是因为我正在使用字符串吗? 按日期查询的正确方法是什么?
使用功能则DateDiff从createdAt和dateString之间获得天。 需要将dateString强制转换为datetime
var sequelize = require('sequelize');
var dateString = '01/03/2019';
yourModel.findAll({
where: sequelize.literal(`DATEDIFF(day,Cast(${dateString} as datetime), createdAt) = 0`)
})
.then(results => {
})
.catch(err => {
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.