MySQL 选择日期时间字段,其中日期等于今天
我正在尝试选择日期等于今天的日期时间字段。但是,查询从不返回任何行。
我的数据库中有这一行:
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