从mysql表中获取哪些列类型为“timestamp”的数据?

时间:2014-11-23 04:06:07

标签: php mysql

在mysql数据库中,我有一个数据类型为timestamp的日期值。它显示的值如下:1415607900, 1394439900, 1412929500等。

现在以Html格式我可以提取日期。日期值为m/d/y格式,此日期用于将数据搜索到DB。我可以从此html表单字段中提取 Date From或Date To或Both

Date from正在从取件日期到当前日期搜索数据。
Date To正在搜索所有数据,直到选择日期 如果both date值存在,那么它会在这两个日期之间搜索数据。

那么如何针对此timestamp搜索数据?

请检查我正在运行的以下mysql查询,但无法获得正确的结果。我非常感谢您的建议/解决方案。谢谢。

if(!empty($ad_datefrom) && empty($ad_dateto)){    
    $getSearch .= "AND cd.created_date2 BETWEEN '$ad_datefrom' AND '$date' ";   
}

if(!empty($ad_dateto) && empty($ad_datefrom)){    
    $getSearch .= "AND cd.created_date2 BETWEEN '0000-00-00' AND '$ad_dateto'"; 
}

if(!empty($ad_datefrom) && !empty($ad_dateto)){
    $getSearch .= "AND cd.created_date2 BETWEEN '$ad_datefrom' AND '$ad_dateto' ";  
}

----------------------------------------------------------------------------------
cd = contact_details Table,  
created_date2 = date column (data type : timestamp)  
$date = current date which format is m/d/y

更新:

/* this is for Date from*/
if(!empty($ad_datefrom) && empty($ad_dateto)){    
        $getSearch .= "AND cd.created_date BETWEEN UNIX_TIMESTAMP('$ad_datefrom') AND UNIX_TIMESTAMP('$date') ";    
}

/* this is for Date To*/
if(!empty($ad_dateto) && empty($ad_datefrom)){    
    $getSearch .= "AND cd.created_date BETWEEN UNIX_TIMESTAMP('0000-00-00') AND UNIX_TIMESTAMP('$ad_dateto') "; 
}

/* this is for Date from and Date To*/
if(!empty($ad_datefrom) && !empty($ad_dateto)){
    $getSearch .= "AND cd.created_date BETWEEN UNIX_TIMESTAMP('$ad_datefrom') AND UNIX_TIMESTAMP('$ad_dateto')";    
}

1 个答案:

答案 0 :(得分:1)

您可以使用FROM_UNIXTIME()将Unix时间转换为日期时间。

这是一个例子 SELECT * FROM tbl where FROM_UNIXTIME(dt) between '2014-10-01 00:00:00' and "2014-11-01 00:00:00'