MySQL是否返回日期/时间为现在减去1小时的记录?

MySQL是否返回日期/时间为现在减去1小时的记录?,mysql,datetime,Mysql,Datetime,任何人都可以使用MySQL命令尝试选择一个表中日期/时间等于或大于现在1小时的所有记录吗 现在我不能100%肯定这是最好的描述方式 我基本上有带有日期/时间字段的记录,例如2019-07-13 13:00:00,我想执行MySQL选择以查找日期/时间为一小时前的所有记录。这是在事件发生一小时后触发功能 我目前有这个,但不确定它是否正确: SELECT * FROM database.table_name WHERE (NOW() - INTERVAL 1 HOUR) >= 'date_of

任何人都可以使用MySQL命令尝试选择一个表中日期/时间等于或大于现在1小时的所有记录吗

现在我不能100%肯定这是最好的描述方式

我基本上有带有日期/时间字段的记录,例如2019-07-13 13:00:00,我想执行MySQL选择以查找日期/时间为一小时前的所有记录。这是在事件发生一小时后触发功能

我目前有这个,但不确定它是否正确:

SELECT * FROM database.table_name
WHERE (NOW() - INTERVAL 1 HOUR) >= 'date_of_event'
AND 'status' = 'Scheduled';
任何想法都很好

您可以使用:

SELECT * FROM database.table_name
WHERE `date_of_event` >= NOW() - INTERVAL 1 HOUR
AND `status` = 'Scheduled';
请注意,在保留字上使用反勾号而不是单引号。

您可以使用:

SELECT * FROM database.table_name
WHERE `date_of_event` >= NOW() - INTERVAL 1 HOUR
AND `status` = 'Scheduled';

请注意,在保留字上使用反勾号而不是单引号。

您非常接近。我认为,在涉及日期/时间的条件下,最具可读性的书写方式是:

 WHERE date_of_event >= NOW() - INTERVAL 1 HOUR
为什么对于日期/时间值,表示在或之后。您需要能够查看您的查询代码并说明原因。该配方明显符合您的规格:

等于或大于现在的日期/时间-1小时

但是:你说你想在一小时后触发一个事件。这可能意味着你想要选择

一小时或一小时以上的日期/时间,即等于或小于现在的日期/时间-1小时

这就是你已经拥有的。但我会重写它

WHERE date_of_event <= NOW() - INTERVAL 1 HOUR

你很接近。我认为,在涉及日期/时间的条件下,最具可读性的书写方式是:

 WHERE date_of_event >= NOW() - INTERVAL 1 HOUR
为什么对于日期/时间值,表示在或之后。您需要能够查看您的查询代码并说明原因。该配方明显符合您的规格:

等于或大于现在的日期/时间-1小时

但是:你说你想在一小时后触发一个事件。这可能意味着你想要选择

一小时或一小时以上的日期/时间,即等于或小于现在的日期/时间-1小时

这就是你已经拥有的。但我会重写它

WHERE date_of_event <= NOW() - INTERVAL 1 HOUR

>=应为并删除事件…的列date_周围的单引号,=状态>=应为并删除事件…的列date_周围的单引号,=状态如果此处没有任何保留字,则您是正确的。将背面的记号留在那里,以显示它们的正确用法。你可以选择不使用它们,但这里并没有任何保留词,你是对的。将背面的记号留在那里,以显示它们的正确用法。您可以选择不使用它们。太好了,非常感谢,下面的内容似乎对我有用:SELECT*FROM database.table\u name,其中status='Scheduled'和date\u of_event太好了,非常感谢,下面的内容似乎对我有用:SELECT*FROM database.table\u name,其中status='Scheduled'和date\u of_event