Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 大于或小于一个日期在sequelize中不会给出任何记录,但可以与heidisql一起使用_Mysql_Node.js_Sequelize.js - Fatal编程技术网

Mysql 大于或小于一个日期在sequelize中不会给出任何记录,但可以与heidisql一起使用

Mysql 大于或小于一个日期在sequelize中不会给出任何记录,但可以与heidisql一起使用,mysql,node.js,sequelize.js,Mysql,Node.js,Sequelize.js,这真的很奇怪,我无法调试这个问题。我也不知道是什么导致了这个问题。 我有一个问题如下: const sequelize = require('sequelize') const Op = sequelize.Op const TODAY_START = new Date().setHours(0, 0, 0, 0) const NOW = new Date() const data = await AssignedJob.findAll({ where: {

这真的很奇怪,我无法调试这个问题。我也不知道是什么导致了这个问题。

我有一个问题如下:

const sequelize = require('sequelize')
const Op = sequelize.Op
const TODAY_START = new Date().setHours(0, 0, 0, 0)
const NOW = new Date()

    const  data = await AssignedJob.findAll({
        where: {
            created_on: {
                [Op.gt]: TODAY_START,
                [Op.lt]: NOW
            }
        }
    })
它生成一个如下所示的查询

SELECT `id`, `emp_id`, `zone_id`, `job_id`, `status`, `commission`, `rating`,
`created_by`, `updated_by`, `created_on`, `updated_on` 
FROM `assigned_jobs` AS `AssignedJob` 
WHERE (`AssignedJob`.`created_on` > '2020-03-24 00:00:00' AND `AssignedJob`.`created_on` < '2020-03-24 17:18:15');
选择'id','emp\u id','zone\u id','job\u id','status','commission','rating',',
`创建人','更新人','创建人','更新人'
从'assigned_jobs'改为'assigned Job'
其中(`AssignedJob`.`created_on`>'2020-03-24 00:00:00'和`AssignedJob`.`created_on`<'2020-03-24 17:18:15');
但是
数据
只是一个
[]
空数组。

我也尝试过使用
[Op.between]:[START\u DATE,NOW]
,但仍然没有任何记录。

我将相同的查询复制到heidsql并运行它,在那里得到结果。

这里发生了什么事?有人能解释一下吗?


sequelize中创建的
和更新的
的数据类型是
日期
,在表中是
时间戳

使用矩.js格式化
'yyyyy-MM-DD HH:MM:ss'中的日期

const sequelize=require('sequelize'))
恒力矩=要求的(‘力矩’);
const Op=sequelize.Op
函数getDate(withoutTime){
const date=新日期();
如果(无时间)日期设置小时数(0,0,0,0);
返回时刻(日期)。格式('YYYY-MM-DD HH:MM:ss');
}
const TODAY_START=getDate(true);/'2020-03-24 00:00:00'
const NOW=getDate();/'2020-03-24 17:47:41'
问题
const TODAY\u START=new Date()。设置小时(0,0,0,0)
将导致Unix时间,即1970年1月1日后的秒数

const date=new date().setHours(0,0,0,0)
console.log(日期);//1970年后返回秒
const date1=新日期();
日期1.设定时间(0,0,0,0);

console.log(日期1);//返回日期
我不知道发生这种情况的原因,我找到了解决办法。我必须使用
momentjs
来实现这一点。

const moment = require('moment')
const now = moment()
const  todayAssignedJobs = await AssignedJob.findAll({
         where: {
            created_on: {
                 [Op.gt]: now.startOf('day').toString(),
                 [Op.lt]: now.endOf('day').toString()
              },
            status: 1
           }
     })
仍在生成相同的查询,但它给出的是结果,而不是空数组。

SELECT `id`, `emp_id`, `zone_id`, `job_id`, `status`, `commission`, `rating`, `created_by`, `updated_by`, `created_on`, `updated_on` FROM 
`assigned_jobs` AS `AssignedJob`
WHERE 
(`AssignedJob`.`created_on` > '2020-03-24 00:00:00' AND `AssignedJob`.`created_on` <'2020-03-24 23:59:59') 
AND `AssignedJob`.`status` = 1;
选择'id','emp'u id','zone'u id','job'u id','status','commission','rating','created'u','updated'u','created'u on','updated'u on'FROM
`分配的_作业`作为`分配的作业`
哪里

(`AssignedJob`.`created_on`>'2020-03-24 00:00:00:00'和`AssignedJob`.`created_on`我需要从一天的开始到一天的结束之间的记录。
getDateWithoutTime()
将两者转换为同一日期。不,我没有尝试过。如果我必须使用momentjs,我看不出有任何理由编写函数,而不使用它已有的函数。