MySQL选择datetime字段,其中date等于今天

时间:2015-08-05 09:41:30

标签: php mysql datetime

我正在尝试选择日期等于今天的日期时间字段。但是,查询永远不会返回任何行。

我的数据库中有这一行:

id    booked_at
1     2015-08-05 09:10:56

我正在使用的查询是:

select date(`booked_at`) from `booking_dates` where booked_at = CURDATE();

为什么这不会返回上面的行?

2 个答案:

答案 0 :(得分:13)

您必须删除booked_at的时间部分,因为2015-08-05 09:10:56不等于2015-08-05。试试这个:

select date(booked_at) from booking_dates where date(booked_at) = CURDATE();

答案 1 :(得分:2)

在列booked_at上使用索引:

SELECT date(booked_at)
FROM booking_dates
WHERE booked_at >= CURDATE()
    AND booked_at < CURDATE() + INTERVAL 1 DAY