0

重複の可能性:
MySQLの2つの日付の違い

テーブルに3つのフィールドがあります。Date1、Date2、およびDiffinHours。PHPコードでは、Date2が設定されている場合、Date2とDate1の時間差を計算してから、DiffinHoursをその値に設定します。

ただし、計算が一定期間行われていなかったデータベースがあり、その時間枠のDiffinHoursを計算する必要があります。私はそれを行うためのスクリプトを書くことができますが、それがクエリを介して行われることを望んでいます。

4

1 に答える 1

1

Run this query periodically. Keep track of the last time the row was evaluated, and check that value for 0 (meaning timediff for the row hasn't been calc'ed yet):

UPDATE database SET DiffInHours = HOUR(TIMEDIFF(date2, date1)), lastEval = NOW() WHERE date2 != 0 AND lastEval = 0;

Or maybe you mean a one time query to backfill the database, here the query is just run when Diffinhours is zero:

UPDATE database SET DiffInHours = HOUR(TIMEDIFF(date2, date1)) WHERE date2 != 0 AND DiffInHours = 0;
于 2012-08-23T13:40:39.860 に答える