列があるMySQLテーブルがありますsome_column
。この列は として設定されておりdatetime
、更新されると として更新されNOW()
ます。
私がしたいのは、データベースにクエリを実行することです。これはsome_column
値であり、そこにあるものとクエリ時の時間との時間差を確認します。2時間以上経過したかどうかを確認したい。
PHP でそれを行うにはどうすればよいですか? または、MySQL でそれを行いますか?
列があるMySQLテーブルがありますsome_column
。この列は として設定されておりdatetime
、更新されると として更新されNOW()
ます。
私がしたいのは、データベースにクエリを実行することです。これはsome_column
値であり、そこにあるものとクエリ時の時間との時間差を確認します。2時間以上経過したかどうかを確認したい。
PHP でそれを行うにはどうすればよいですか? または、MySQL でそれを行いますか?
TIMEDIFF
機能を見てください
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timediff
SELECT IF(TIMEDIFF(NOW(),`some_column`) > '02:00:00',1,0) FROM `table`
または、2 時間以上前に更新された行を返そうとしている場合:
SELECT * FROM `table` WHERE `some_column` < DATE_ADD(NOW(),INTERVAL -2 HOUR)
<?php
$time = // Run query to get datetime value from db
$time = strtotime($time);
$dif = time()-$time;
$dif = date('H', $dif);
if($dif >= 2)
{
// Do something
}
?>