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

标签 mysql date datetime

我有一个“日期时间”类型的列,其值类似于 2009-10-20 10:00:00

我想从日期时间中提取日期并编写如下查询:

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()功能:

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

你也可以试试这个:

WHERE datetime LIKE '2009-10-20%'

this answer有关使用 LIKE 的性能影响的信息。

关于mysql - 如何从日期时间列中选择日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1754411/

相关文章:

JavaScript 日期抛出无效日期

java - 如何从此类日期获取时间和日期 Aug 29 2011 2 :24PM IN Java or Android

c# - 在 C# Lambda 表达式中使用 System.DateTime 会出现异常

php - 获取给定日期一周内的所有工作日

php - UTF-8贯穿始终

php - Mysql语法限制为整数行

php - 注册流程+php mysql

javascript - 在我的日期验证中合并前导零

mysql 查找最近用户评论

ruby - 获取当月第一天的最有效方法是什么?