MySQL查询选择所有日期等于今天的日期时间

时间:2015-12-19 11:14:42

标签: php mysql datetime select

我有一个类似这样的数据库表:

Col_1    |   Datetime
test1      2015-12-19 09:00:00
test2      2015-12-18 12:30:00
test3      2015-12-19 10:00:00
test4      2015-12-19 16:45:00

我试图在我的查询中选择datetime等于今天日期的所有结果,尽管我只是使用类似的东西:

$today = date("Y-m-d"); SELECT * FROM table WHERE datetime = '$today'

它似乎没有用?如果我将时间添加到$today,它只会选择那些等于当前时间的结果,这不是我想要的?

我知道如何做到这一点?我甚至到目前为止这是完全愚蠢的(尽管我编码时早上凌晨3点左右):

   $now = date("Y-m-d H:m:s", strtotime('midnight'));
   $todays = date(strtotime('midnight'));
   $take24hours = date("Y-m-d H:m:s", strtotime('-24 hours', $todays));

    $results = mysqli_fetch_assoc(mysqli_query($conn, "SELECT * FROM table WHERE  date_added > '$take24hours' AND date_added < '$now')"));

2 个答案:

答案 0 :(得分:2)

可以在sql事务中完全执行此操作(不需要php日期格式化):

SELECT * FROM table WHERE date(`datetime`) = current_date;

答案 1 :(得分:1)

CURDATE()将获得当前日期。

SELECT * FROM表,其中DATE(日期)= CURDATE()