按date范围select原始查询

我使用“sequelize”:“^ 2.0.0-rc3”与pg(postgresql),在这一刻我想做一个date范围的原始查询 ,但sequelize不返回数据。

当我在postgresql数据库中运行相同的查询获得正确的结果。 请帮帮我。

在sequilize:

// Init main query var query = "SELECT * FROM" + '"Calls"' + " WHERE " + '"EquipmentId"' + " = 1" + " AND " + '"initDate"' + " >= " + "'2015-02-05 14:40' " + " AND " + '"endDate"' + " <= " + " '2015-02-05 15:00' "; global.db.sequelize.query(query) .then(function(calls) { console.log(calls); }) .error(function (err) { console.log(err); }); 

在我得到节点服务器的控制台。

 Executing (default): SELECT * FROM "Calls" WHERE "EquipmentId" = 1 AND "initDate" >= '2015-02-05 14:40' AND "endDate" <= '2015-02-05 15:00' 

但是空的数组调用…

尝试这个:

 var query = ' \ SELECT * FROM "Calls" \ WHERE "EquipmentId" = :EquipmentId \ AND "initDate" >= :initDate \ AND "endDate" <= :endDate; \ '; global.db.sequelize.query(query, null, {raw: true}, { EquipmentId: 1, initDate: new Date('2015-02-05 14:40'), endDate: new Date('2015-02-05 15:00') }) .then(function(calls) { console.log(calls); }) .error(function (err) { console.log(err); }); 

你也可以使用像sequelize函数

 where : { gte:sequelize.fn('date_format', initDate, '%Y-%m-%dT%H:%i:%s') ,lte:sequelize.fn('date_format', endDate, '%Y-%m-%dT%H:%i:%s') }