一尘不染

如何从日期时间列中选择日期?

mysql

我有一个类型为“ datetime”的列,其值类似于2009-10-20 10:00:00

我想从datetime提取日期并编写类似的查询:

SELECT * FROM 
data 
WHERE datetime = '2009-10-20' 
ORDER BY datetime DESC

以下是最好的方法吗?

SELECT * FROM 
data 
WHERE datetime BETWEEN('2009-10-20 00:00:00' AND '2009-10-20 23:59:59')
ORDER BY datetime DESC

但是,这将返回一个空的结果集。有什么建议么?


阅读 401

收藏
2020-05-17

共1个答案

一尘不染

您可以使用MySQL的DATE()功能:

WHERE DATE(datetime) = '2009-10-20'

您也可以尝试以下方法:

WHERE datetime LIKE '2009-10-20%'

有关使用的性能影响的信息,请参见此答案LIKE

2020-05-17