我有一个类型为“ 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
但是,这将返回一个空的结果集。有什么建议么?
您可以使用MySQL的DATE()功能:
DATE()
WHERE DATE(datetime) = '2009-10-20'
您也可以尝试以下方法:
WHERE datetime LIKE '2009-10-20%'
有关使用的性能影响的信息,请参见此答案LIKE。
LIKE