我正在尝试选择一个日期时间字段,其中日期等于今天。然而,查询从未返回任何行。
我的数据库中有这一行:
id booked_at
1 2015-08-05 09:10:56
我使用的查询是:
select date(`booked_at`) from `booking_dates` where booked_at = CURDATE();
为什么这个代码不能返回上一行?
我正在尝试选择一个日期时间字段,其中日期等于今天。然而,查询从未返回任何行。
我的数据库中有这一行:
id booked_at
1 2015-08-05 09:10:56
我使用的查询是:
select date(`booked_at`) from `booking_dates` where booked_at = CURDATE();
为什么这个代码不能返回上一行?
booked_at
的时间部分,因为2015-08-05 09:10:56
不等于2015-08-05
。请尝试以下方法:select date(booked_at) from booking_dates where date(booked_at) = CURDATE();
要在列booked_at
上使用索引:
SELECT date(booked_at)
FROM booking_dates
WHERE booked_at >= CURDATE()
AND booked_at < CURDATE() + INTERVAL 1 DAY