钟二网络头像

钟二网络

探索SQL查询技巧、Linux系统运维以及Web开发前沿技术,提供一站式的学习体验

  • 文章92531
  • 阅读1277814
首页 SQL 正文内容

sql判断24小时

钟逸 SQL 2025-09-10 11:38:38 2

SQL判断24小时的语法

sql

SELECT

CASE

WHEN DATEDIFF(NOW(), created_at) < 1

THEN 'created within 24 hours'

ELSE 'created over 24 hours ago'

END AS created_status

FROM my_table;

解释

该查询使用 DATEDIFF() 函数计算当前时间与 created_at 列中的时间之间的差值(以天为单位)。如果差值小于1天,则查询结果为“created within 24 hours”。否则,查询结果为“created over 24 hours ago”。

示例

假设我们有一个 posts 表,其中包含 created_at 列,表示帖子的创建时间。我们可以使用以下查询来标识在过去24小时内创建的帖子:

sql

SELECT

id,

title,

created_at,

CASE

WHEN DATEDIFF(NOW(), created_at) < 1

THEN 'created within 24 hours'

ELSE 'created over 24 hours ago'

END AS created_status

FROM posts

WHERE created_status = 'created within 24 hours';

查询结果将显示所有在过去24小时内创建的帖子的 id 、 title 、 created_at 和 created_status 。

注意事项

* DATEDIFF() 函数计算的是天数,因此如果相差的时间少于24小时,但大于1天,查询仍将返回“created over 24 hours ago”。

* 如果 created_at 列中的时间没有时区信息,则查询将使用系统时区。

* 对于跨时区的应用程序,务必考虑时区差异。

文章目录
    搜索