【发布时间】:2017-02-17 00:27:26
【问题描述】:
- 操作系统:Linux (Lubuntu)
- 语言:Javascript(Node js)
- 框架:快递js
- 数据库:mysql
- “data”是“activitat”表中的日期字段
当我使用 Sequelize.js 运行下一条语句时
models.TblActivitat.findAll(
{
attributes:
[
'codiAct', 'procedencia', 'pacient', 'proces', 'prova', 'rmn', 'realitzador',
[Sequelize.fn('date_format', Sequelize.col('data'), '%d-%m-%Y'), 'data']
],
include: models.TblTecnics,
where: {"data": '2016-10-20' }, //dataAAAAMMDD
order: "registre DESC"
}).then(function(tblActTec){
...
});
...我必须得到一些记录,但我什么也没得到
在mysql上运行我得到结果:
mysql> select data from activitat where data = '2016-10-20';
+------------+
|数据 |
+------------+
| 2016-10-20 |
| 2016-10-20 |
| 2016-10-20 |
| 2016-10-20 |
+------------+
如果我看到节点服务器的控制台。执行之前的语句时,显示如下:
执行(默认):SELECT activitat.codiActactivitat.procedencia, activitat.pacient, activitat.proces, activitat.@9876543333 @.rmn, activitat.realitzador, date_format(data, '%d-%m-%Y') AS data, tecnic.codiTec AS tecnic.codiTec, @987654341 @。tecnic.nom activitat activitat 987654345 tecnics tecnic activitat 987654349 @ = tecnic 987654351 activitat 987654352 activitat 987654352 activitat 987654352 @ = '2016-10-19 22:00:00'
按注册 DESC 订购;
我的问题是:
我写了“2016-10-20”作为where子句。当我在 mysql 中执行此操作时,它会显示我希望的结果,但是当执行 sequelize 时,它会将 data 子句的值更改为“2016-10-19 22:00:00”(“2016-10-20 00 之前的两个小时: 00:00”!!)。为什么?
我记得“数据”字段是日期字段(不是日期时间字段)
非常感谢!!
【问题讨论】:
标签: javascript mysql express