繁体   English   中英

我如何获取今天日期的mysql结果?

[英]how do i get mysql results of todays date?

我正在尝试从今天插入的表中提取结果。 每个插入都标有时间戳。

如果我执行类似的查询:

SELECT * 
  FROM table 
  WHERE added > DATE_SUB(NOW(), INTERVAL 1 DAY) 

看来我得到的确是今天的东西,但也有24小时以前的东西。 也许我在看东西。

我不想看到24小时前的内容...

您可以提取时间戳字段的日期部分 ,并将其与当前日期进行比较。

SELECT x,y,z FROM t WHERE Date(added)=Curdate()

您可以使用以下技巧:mysql与datetime值进行比较时,将日期比较为午夜:

SELECT * FROM table WHERE added >= CURRENT_DATE

这样做的好处是可以使用索引。

“间隔1天”并不表示“同一日历日”,而是表示“ 24小时内”。 在许多情况下这很有用。 就像,您可能想说,向我展示过去24小时内对我的帖子的所有回复。 如果我早上上班时进行这样的查询,它将告诉我自昨天早上问起以来收到的所有答复,以及今天早上到达之前的答复。 那可能就是我想知道的。

显然,这对您没有用,所以...使用其他东西! 像其他海报一样。

我倾向于使用TO_DAYS()将时间转换为天数,例如

SELECT * 
  FROM table 
  WHERE TO_DAYS(added)=TO_DAYS(NOW())
SELECT * 
FROM table 
WHERE DATE(added) = DATE(NOW()) 

DATE(已添加)将从您的日期中删除小时,分钟和秒(如果有的话)。

NOW()返回今天的日期和时间。

DATE(NOW())返回今天的日期。

因此,如果您执行WHERE DATE(添加)= DATE(NOW()),则只会获得日期为今天的日期的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM