如果日期格式为SELECT
,如何Y-m-d H:i:s
特定日期的行?
即我想选择以下行:
WHERE DATE(datet) = '2013-08-07'
但值是:
2013-08-07 11:23:45
最佳答案
您自己有解决方案:
SELECT * FROM tbl WHERE DATE(datet) = '2013-08-07'
假设
datet
是DATETIME
列,这是最有效的方法,因为这样MySQL便可以使用datet
上的潜在索引来处理WHERE
子句。取决于您的MySQL
WHERE datet LIKE '2013-08-07%'
版本,也可以通过使用索引来完成这项工作(因为模式的最左边部分是恒定的)。我认为这不太优雅。编辑:事实上,通过测试,它似乎也可以与
VARCHAR
/ CHAR
列一起有效地工作。请参见http://sqlfiddle.com/#!8/1c2da/1(单击“查看执行计划”以查看索引的使用方式)。关于mysql - Mysql选择日期=现在,如果Y-m-d H:i:s,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18122318/