Mysql 选择datetime而不指定时间部分?

Mysql 选择datetime而不指定时间部分?,mysql,sql,datetime,Mysql,Sql,Datetime,我有一张这样的桌子: 我想这样做: select * from stat_tps Where min_date ='2013-06-12' 但是问题是,正如您所看到的,min_日期是datetime格式,所以我必须提供hh:mm:s部分。我想知道是否有任何方法可以在不指定时分和秒的情况下应用我的查询 谢谢 使用SUBSTR功能删除时间。使用DATE()功能: SELECT * FROM stat_tps WHERE DATE(min_date) ='2013-06-12' 但是,如果在mi

我有一张这样的桌子:

我想这样做:

select * from stat_tps Where min_date ='2013-06-12'
但是问题是,正如您所看到的,min_日期是datetime格式,所以我必须提供hh:mm:s部分。我想知道是否有任何方法可以在不指定时分和秒的情况下应用我的查询


谢谢

使用
SUBSTR
功能删除时间。

使用
DATE()
功能:

SELECT * FROM stat_tps WHERE DATE(min_date) ='2013-06-12'
但是,如果在
min\u date
列中有索引,则不会使用索引。更好地利用

select * from stat_tps
Where min_date >= '2013-06-12'
and min_date < '2013-06-13'
从stat\u tps中选择*
其中最小日期>='2013-06-12'
和最短日期<'2013-06-13'

您需要指定一个范围,这将有效地使用索引

select * from stat_tps 
Where min_date BETWEEN '2013-06-12' AND DATE_ADD('2013-06-12',INTERVAL 1 DAY)

你是说它不起作用?它应该可以工作。不幸的是它不工作。@jishi,它不应该工作-时间是评估的一部分
select*from stat\u tps其中SUBSTR(min\u date,0,10)='2013-06-12'
我使用了您提供的查询,它的工作非常完美,但我有一个问题,我想把它放在这里,让其他人在使用你的答案时从中受益。。。将长度设置为零不会返回任何结果,因此我将长度设置为1,它返回了所需的结果选择*from stat_tps,其中substring(min_date,1,10)='2013-06-14'`是的,您是对的,指定字符串的第一个字符位于位置1。不可能是好的点。叹息。。。要添加到列表中的又一个缺少的功能。
select * from stat_tps 
Where min_date BETWEEN '2013-06-12' AND DATE_ADD('2013-06-12',INTERVAL 1 DAY)