需要幫助PHP/MySql。需要從「今天」中選擇所有記錄。選擇* from表where date =今天
我的表有一個coloumn,它包含一個unixtime郵票,我只想從unixtime stamp = today的表中選擇。
很高興在linux命令行上這樣做只需要基本的MySql查詢?
需要幫助PHP/MySql。需要從「今天」中選擇所有記錄。選擇* from表where date =今天
我的表有一個coloumn,它包含一個unixtime郵票,我只想從unixtime stamp = today的表中選擇。
很高興在linux命令行上這樣做只需要基本的MySql查詢?
既然你標記的PHP,我會提供一個PHP的答案:
list ($y, $m, $d) = explode('.', date('Y.m.d'));
$today_start = mktime(0, 0, 0, $m, $d, $y);
$today_end = mktime(23, 59, 59, $m, $d, $y);
// do the query with this clause:
// ... WHERE unix_timestamp BETWEEN $today_start AND $today_end
SELECT * FROM table_name的WHERE DATE(日期)= DATE(NOW())
合適的WHERE子句可能是:
CAST(FROM_UNIXTIME(<your_field>) AS DATE) = CURDATE()
我會去的SQL版本:
SELECT * FROM table WHERE DATE(timestamp_field) = CURDATE();
SELECT * FROM tbl WHERE date >= CURDATE()
$q="select * from table where date >'".date("Y-m-d 00:00:00")."' and date <'".date("Y-m-d 23:59:59")."'";
我的桌子上有一個日期時間欄,我用這個成功了
SELECT * FROM orders WHERE DATE(order_time) = DATE(NOW())
以下是這樣做的正確方式:
WHERE `date` BETWEEN UNIX_TIMESTAMP(DATE(NOW())) AND UNIX_TIMESTAMP(DATE(DATE_ADD(NOW(), 1 DAY)))
如果對未來沒有值(明天,明天后第2天,等等),那麼就可以簡化爲:
WHERE `date` >= UNIX_TIMESTAMP(DATE(NOW()))
,當你改變你的date
域類型爲datetime
可能的查詢將是:
WHERE `date` >= DATE(NOW())
當我說「正確」時,我的意思是這些查詢可以是通過使用索引進行了優化。像DATE(order_time) = DATE(NOW())
這樣的查詢 - 不能,因爲它是一個表達式。
你有你的封裝日期字符串中的'''或'「''一樣日期( '年月日')' – RobertPitt 2010-10-01 10:41:32