PHP mysql:如何选择今天或某一天的记录?

问题描述

| 我正在使用无法更改结构的表。...现在有一个包含时间戳记的varchar列。现在,我需要选择时间戳转换为当前日期或指定日期的记录。 有什么帮助吗?     

解决方法

首先,您不应该将日期信息存储在带有“ 0”字段的mysql数据库中。而是使用
DATETIME
的含义。我只能猜测您是如何将时间戳记日期存储在数据库中的,但是我将假定它是以下格式:
YYYY-mm-dd hh:mi:ss (ie \'2011-04-15 09:23:55\')
现在,您必须格式化输入(假设是时间对象或它是与数据库中数据格式相同的字符串):
$yourdate = strftime(\"%Y-%m-%d\",$input);
然后构造您的查询
query = \"select * from table where substring(datecol,1,10) = \'$yourdate\'\";
执行这个,你应该很好     ,根据您将日期存储为字符串的格式,使用
STR_TO_DATE
函数解析日期。然后,您可以将其用作
where
子句的一部分来查询所需的数据。     ,尝试这个
select * from table  where date(your_field)=CURDATE()
或特定日期
select * from table where date(your_field)=DATE_FORMAT(2011-05-31 00:02:00,\'%Y-%m-%d\')