int mktime(int hour, int minute, int second, int month, int day, int year, int [is_dst] )使用这个函数!最后一个参数用于指定你是否处于夏令时,此参数是可选的,所以我们将忽略它。
data=mktime(18,0,0,6,3,2003);sql="select * from table where date="+data

解决方案 »

  1.   


    试试:SELECT * FROM tbl_name WHERE FROM_UNIXTIME(date) = '2003-6-3 18:0:0'
      

  2.   

    题外话:如果你的时间用DATETIME而不是VCHAR,你的问题解决起来就容易的多了。$t = strtotime("2003-6-3 18:0:0");
    $t1 = $t+3600-1;
    $sql = "select * from tbl_name where date BETWEEN $t and $t1";
      

  3.   

    我想在用的是INT,也就是UNIX时间戳,因为数字型查询可能会速度比较快。
    而DATETIME我也知道,不过我查的资料里没有很详细的介绍,这个类型好像就是CHAR的类型吧,具体不知道如何操作和取值,有没有这个方面的参考资料,如,怎么从DATETIME里进行时间比较等。
      

  4.   

    直接比较:比如日期型字段 thedate 
    列出2003-05-01 00:00以后的所在字段
    select * from tbl_name where thedate >"2003-05-01 00:00"