date1 varchar(4)
sqlと。に2つのフィールドがありdate2 varchar(4)
ます。日付形式はHHmm
、HHが時間、mmが分です。
とにかくSQLに、2つのタイムスタンプを足し合わせて、何時間何分かを計算できるものはありますか?
例えば
date1 = 0230 date2 = 0145 will total 0415
date1 = 0030 date2 = 0035 will total 0105
date1 varchar(4)
sqlと。に2つのフィールドがありdate2 varchar(4)
ます。日付形式はHHmm
、HHが時間、mmが分です。
とにかくSQLに、2つのタイムスタンプを足し合わせて、何時間何分かを計算できるものはありますか?
例えば
date1 = 0230 date2 = 0145 will total 0415
date1 = 0030 date2 = 0035 will total 0105
declare @d1 varchar(4), @d2 varchar(4), @dif int
set @d1 = '0230'
set @d2 = '0145'
set @dif = (CAST(left(@d1, 2) as int) * 60) + (CAST(left(@d2, 2) as int) * 60) + CAST(right(@d1, 2) as int) + CAST(right(@d2, 2) as int)
select RIGHT('00' + cast(floor(@dif / 60) as varchar), 2) + RIGHT('00' + CAST(@dif % 60 as varchar),2)
SQL Serverを使用している場合は、http://msdn.microsoft.com/en-us/library/ms189794.aspxで説明されているDATEDIFF関数を使用することもできます。
これにより、日時値の任意の部分の差を取得できます。DATEADDは、処理方法によっては、これにも役立つ場合があります。
これらが本当にタイムスタンプであるかどうかわかりません。整数として保存しないとどうなりますか?
とにかく..これにはmysql関数があるかどうかわかりません。以下を閲覧できます: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html 多くの助けになるかどうかはわかりません。それらを秒として保存する場合は、mysql にそれらを追加させるだけです。それ以外の場合は、それらをスクリプトに取り込み、秒に変換し、それらを一緒に追加してから、必要に応じてより読みやすい形式に変換します。
これを試してください(時刻または日時を使用してください):
select ADDTIME(time1,time2);
mysqlの時間は次の形式です
'01:02:03'
日時は
'2003-12-31 01:02:03'