您好,所以我正在尝试使用此查询获取10分钟前和现在之间的所有记录。
SELECT task_id, task_title, task_assigned_phone_number, task_assigned_name, task_assigned_user_id, task_guest_id, task_creator_id
FROM TASKS
WHERE task_reminder IS NOT NULL AND
task_reminder > ? AND
task_reminder <= ? AND
reminded = 0 AND
task_complete = 0
ORDER BY task_reminder ASC";我在sqlfiddle上建立了模式和SQL查询,当您运行该查询时,您可以看到0条记录落在适当的位置。我收录的次数是基于nodejs上的new Data().getTime()。我应该做些什么?我尝试了新的Date()..toUTCString(),但仍然有问题。
http://sqlfiddle.com/#!9/c6a361/7
发布于 2019-09-18 07:54:43
我不确定您为什么要在timestamp列中使用Unix纪元。我希望看到这样的WHERE子句:
WHERE t.task_reminder IS NOT NULL AND
t.task_reminder > now() - interval 10 minute AND
t.reminded = 0 AND
t.task_complete = 0如果将来有提醒,您可能还需要t.task_reminder < now()。
Here是一个sql<>fiddle。请注意,表中的数据需要更改以演示这一点。
发布于 2019-09-18 09:09:03
这是你的时间戳格式的问题。试试这个:
SELECT * FROM TASKS
WHERE task_reminder IS NOT NULL
AND task_reminder > '2019-09-17 00:00:00'
AND task_reminder <= '2019-09-18 00:00:00'
AND reminded = 0
AND task_complete = 0
ORDER BY task_reminder ASC;https://stackoverflow.com/questions/57983298
复制相似问题