在Sequelize中将varchar列转换为日期

时间:2017-10-01 20:31:45

标签: javascript node.js postgresql sequelize.js

我需要对一个模型执行查询,该模型的字符日期时间保存在字符中,这是我的查询

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:

enter image description here

1 个答案:

答案 0 :(得分:0)

试试这段代码:

对于sequelize> = 4.12.0

const _from = new Date(from).getTime();
Model.findAll({where: { start : {$gte: _from}})

对于sequelize< 4.12.0:

VARCHAR

只是出于好奇,为什么要在{{1}}中存储日期?