MySQL 选择日期时间字段,其中日期等于今天

2022-08-30 19:38:46

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

我的数据库中有这一行:

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

我正在使用的查询是:

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

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


答案 1

你必须剥离时间部分,因为不等于。试试这个:booked_at2015-08-05 09:10:562015-08-05

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

答案 2

要在列上使用索引:booked_at

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

推荐