如何检查现在的时间是否在两个特定日期之间?

5

我有一个具有以下结构的公告表:

Msgid int,
title varchar(150)
message text
date_from datetime
date_to  datetime

我想列出所有今天到期的公告(即,今天的日期在date_from和date_to之间),有什么建议吗?

如果您希望消息显示在最后一天,请确保将date_to值存储为23:59:59的时间。将列重命名为datetime_fromdatetime_to可能会减少混淆... - Julien
2个回答

27
WHERE NOW() BETWEEN date_from AND date_to

1
的确。这通常(但不一定总是)比“WHERE NOW() >= date_from AND NOW() <= date_to”更有效率。 - Romain

0
SELECT title, message
FROM announcements
WHERE NOW() BETWEEN date_from AND date_to

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接