2011-02-24 81 views
1

我有一个外地在我的表称为time它的INT和IAM使用PHP time()函数 一个MySQL表中的记录选择现在我想选择的所有记录,其time今天从属于今天

回答

3
$sql = "SELECT * FROM table WHERE time >= '".strtotime("today")."' AND time < '".strtotime("tommorow")."'"; 
+1

使用此解决方案,mysql必须对每行进行两次比较,但不进行转换(timestamp> date)。这里提到的其他解决方案只需要一次比较,但必须将时间戳转换为每行的日期。你必须更好地决定/测试什么适合你的应用程序。 – Czechnology 2011-02-24 15:23:32

+0

Welp,如果想要玩弄脏的话,他们可以比较像YY'YYYY-MM-DD%'那样只有右侧有可变部分的时间,如果列有索引,它会非常快。 – Konerak 2011-02-24 15:53:32

+1

@Konerak,但列是INT,而不是DATETIME。 – Czechnology 2011-02-24 15:56:12

2
SELECT * FROM mytable where DATE(`time`) = DATE(NOW());