选择具有特定日期的所有记录:更简单的方法?

时间:2012-07-05 03:01:20

标签: mysql

我正在选择datetime列中具有特定日期的记录,但感觉有点草率,我想知道是否有更好的方法。我的查询如下:

SELECT   * 
FROM     myTable 
WHERE    event_datetime 
BETWEEN  '2012-05-05 00:00:00' AND '2012-05-05 23:59:59'

它工作正常。我只是想知道在mySQL中是否有更好的方法可以做到这一点。

3 个答案:

答案 0 :(得分:1)

从什么角度来看更好?

有人建议使用DATE(event_datetime) = '2012-05-05',但效率非常低。

请继续使用您的解决方案,并确保索引

涵盖event_datetime

答案 1 :(得分:0)

使用where子句中列的DATE函数。

例如:

SELECT   * 
FROM     myTable 
WHERE    DATE(event_datetime) = '2012-05-05'

答案 2 :(得分:0)

您可以执行WHERE date(event_datetime) = '2012-05-05',但这种方式无法在event_datetime上使用索引,因此如果您想使用event_datetime索引,请使用原始方式。