【发布时间】:2017-12-23 04:07:53
【问题描述】:
我正在尝试用 Sequelize 语法编写这个 where 子句:
SELECT * FROM `artist` WHERE `deleted_at` = null OR `deleted_at` > now();
我已经通过多种方式对 where 子句进行了续集,包括仅将 [sequelize.Op.or] 替换为 or:
where: {
deleted_at: {
[sequelize.Op.or]: [null, { [sequelize.Op.gt]: (new Date()) }]
}
但我的语法一定很差,因为我的输出显示它正在运行这个查询:
SELECT `id`, `name`, `created_at`, `created_by`, `deleted_at`, `deleted_by` FROM `artist` AS `artist` WHERE `artist`.`deleted_at` = '2017-12-22 00:00:00' LIMIT 1;
时间错误(应该显示下午晚些时候,而不是 00:00:00),它不应该显示等号,甚至没有提到 null。我无法从文档中看出语法是什么。把我的头撞到墙上。
【问题讨论】:
-
deleted_at的数据类型是什么 -
数据类型为日期时间
标签: mysql node.js sequelize.js