我正在使用一个表,我无法更改结构....现在有一个包含时间戳的varchar列。现在我需要选择时间戳转换为当前日期或指定日期的记录。
有任何帮助吗?
答案 0 :(得分:0)
根据您将日期存储为字符串的格式,使用STR_TO_DATE
函数解析日期。然后,您可以将其用作where
子句的一部分来查询所需数据。
答案 1 :(得分:0)
试试这个
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')
答案 2 :(得分:0)
首先,您不应将日期信息存储在具有VARCHAR
字段的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'";
执行此操作,你应该很好