一部のデータを含む単一の時系列テーブルがありますが、タイムスタンプが時々ずれています。タイムスタンプを確認するために、日の出と日没を手動で定義し、PAR (Photosynthetically Active Radiation) 値を使用して太陽正午の推定値を取得しました。PAR は、どれだけの光が入ってくるかを示します。両者の中間地点。PAR が 1.9 を超える記録 (通常は午前 7 時頃) を夜明け、PAR が 1.9 以下の記録を夕暮れと宣言することにしました。
1.9 を超える PAR 値を選択し、GROUP BY を使用して各日の最小時間値と最大時間値を見つけました。これは機能します。
datePart、MIN(timePart) AS 日の出、MAX(timePart) として日没、TIMEDIFF(MAX(timePart), MIN(timePart)) AS dayHours FROM
Imnavait101119_110225
WHERE PAR_2029410_uE
>1.9 GROUP BY datePart
わかりました(はい、正解です。北極圏のサイトです)。
datePart sunrise sunset dayHours dayHoursHalf
07/09/2010 0:07:00 23:52:00 23:45:00 NULL
07/10/2010 0:07:00 23:52:00 23:45:00 NULL
07/11/2010 0:07:00 23:22:00 23:15:00 NULL
07/12/2010 1:37:00 23:52:00 22:15:00 NULL
07/13/2010 0:07:00 23:52:00 23:45:00 NULL
07/14/2010 0:07:00 23:52:00 23:45:00 NULL
07/15/2010 0:07:00 23:52:00 23:45:00 NULL
07/16/2010 0:07:00 23:52:00 23:45:00 NULL
07/17/2010 0:07:00 23:52:00 23:45:00 NULL
07/18/2010 0:07:00 23:52:00 23:45:00 NULL
07/19/2010 0:22:00 23:52:00 23:30:00 NULL
07/20/2010 0:07:00 23:52:00 23:45:00 NULL
07/21/2010 0:07:00 23:52:00 23:45:00 NULL
TIMEDIFF 値を取得したので、この値を 2 で割り、日の出に加算して正午を取得します。値を保持する列を作成しましたが、取得方法がわかりません。2 で割ったり、0.50 で掛けたりすることはできましたが、通常はこれらの行に沿って、非常に奇妙な結果が得られます。
SELECT @dayHoursHalf := (dayHours * 0.50) as dayHoursHalf
FROM Imnavait101119_110225_TimestampCheck
そして私はこれを得る:
dayHoursHalf
117250
117250
115750
110750
117250
117250
117250
117250
117250
117250
116500
117250
117250
117250
どこから始めればよいかさえわかりません。これらの数値は私には意味がありません。また、分数の時間値のクエリをコーディングする方法についても何も見つかりません。
回答者の皆様、どうもありがとうございました。