2011-02-24 87 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());