如何在18:30:00之后在php中检索记录

时间:2016-03-11 04:37:01

标签: php mysql

我想在6:30:00 pm,即18:30:00之后从数据库中检索记录。 我试过这个

SELECT  * 
FROM mytable
WHERE  `datetime` 
BETWEEN  '18:30:00'
AND  '23:59:00'

没有显示输出。

5 个答案:

答案 0 :(得分:5)

使用它。在表名周围添加TIME(table_name)。

SELECT  * 
FROM mytable
WHERE  TIME(datetime) 
BETWEEN  '18:30:00'
AND  '23:59:00'

答案 1 :(得分:2)

您可以输入日期,因为该值是日期时间,否则它将使用默认日期

SELECT * FROM mytable 
WHERE [datetime] >= '2016-03-11 18:30:00' 
AND [datetime] <= '2016-03-11 23:59:00'

OR

SELECT * FROM mytable 
WHERE TIME([datetime]) >= '18:30:00' 
AND TIME([datetime]) <= '23:59:00'

答案 2 :(得分:1)

试试这个:

SELECT * FROM mytable WHERE  TIME(datetime) >= time '18:30:00';

答案 3 :(得分:1)

这可以通过php getdate()函数来完成。

$t = getdate();
if($t[hours] == 8 && $t[minutes] == 30 ){

    $mydata = 'select * from mytable';
}

.......... ...........

答案 4 :(得分:1)

使用您当前的过滤器,似乎您将错过当天的最后59秒。当然应该在18:30:0023:59:59之间?

即,

SELECT * FROM mytable 
WHERE TIME([datetime]) >= '18:30:00' 
AND TIME([datetime]) <= '23:59:59'