会在续集中显示任何记录,但可用于heidisql"/>
大于或小于日期不会在续集中显示任何记录,但可用于heidisql
真的很奇怪,我无法调试该问题。我也不知道是什么原因引起的。我有一个如下查询:
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');
但是data
只是[]
空数组。我也尝试使用[Op.between]: [START_DATE, NOW]
,但仍然没有任何记录。我将相同的查询复制到heidsql并运行它,结果在那里。这里发生了什么事?有人可以解释吗?序列中created_on
和updated_on
的数据类型为DATE
,在表中为TIMESTAMP
使用moment.js在'YYYY-MM-DD'
中设置日期格式>
const sequelize = require('sequelize')
const moment = require('moment');
const Op = sequelize.Op
function getDateWithoutTime(date) => moment(date).format('YYYY-MM-DD');
const TODAY_START = getDateWithoutTime(new Date());
const NOW = new Date()
const date = new Date().setHours(0, 0, 0, 0)
console.log(date); // return seconds after 1970
const date1 = new Date();
date1.setHours(0, 0, 0, 0);
console.log(date1); // return date
更多推荐
大于或小于日期不会在续集中显示任何记录,但可用于heidisql
发布评论