在名为date
的数据库列(tyupe int(11))中,我将日期存储为整数。然后,我有变量$day
,$month
,$year
,我需要获取相应日期的所有行(代表变量$day
,$month
, $year
)。
怎么做?
我试过这种方式:
mysql_query("SELECT id FROM persons WHERE DATE_FORMAT( `date` , '%Y-%m-%d' ) =
'".date("$year-$month-$day")."'")
但不幸的是,这对我有用......请问有人给我一个提示,请问如何解决这个问题?
由于
答案 0 :(得分:2)
您需要避免将日期列包装在函数中,以便仍能使用索引。
如果您在date
列上设置了索引,则这是适用于您的方案的最有效方法:
$input_date = mktime(0, 0, 0, $month, $day, $year);
mysql_query("SELECT id FROM persons WHERE date = $input_date");
将date
列实际存储为实际DATE
类型会更好。这样,您可以进行各种引人注目的日期比较和计算,否则您将无法使用简单的基于整数的unix时间戳。