在Sequelize中将varchar列转换为date
我需要执行一个查询模型,具有保存字符不同的字段date时间这里是我的查询
const _from = new Date(from).getTime(); Model.findAll({where: Sequelize.where(Sequelize.fn('datetime', Sequelize.col('start')), '>=', _from)})
与上面的查询这是响应: function datetime(character varying) does not exist
我也尝试以下内容:
const _from = new Date(from); Model.findAll({where: Sequelize.where(Sequelize.fn('date', Sequelize.col('start')), '>=', from)})
和上面的查询这是响应: date/time field value out of range: 1495828800000
这是表格中列的截图,我在Nodejs中使用postgress和Sequelize:
试试这个代码:
对于sequelize> = 4.12.0
const Op = Sequelize.Op; const _from = new Date(from).getTime(); Model.findAll({where: { start : {[Op.gte]: _from}})
对于后缀<4.12.0:
const _from = new Date(from).getTime(); Model.findAll({where: { start : {$gte: _from}})
只是好奇,为什么你在VARCHAR
存储date?