0

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
4

4 に答える 4

3
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)
于 2012-04-11T23:34:09.460 に答える
0

SQL Serverを使用している場合は、http://msdn.microsoft.com/en-us/library/ms189794.aspxで説明されているDATEDIFF関数を使用することもできます

これにより、日時値の任意の部分の差を取得できます。DATEADDは、処理方法によっては、これにも役立つ場合があります。

于 2012-04-11T23:26:06.927 に答える
0

これらが本当にタイムスタンプであるかどうかわかりません。整数として保存しないとどうなりますか?

とにかく..これにはmysql関数があるかどうかわかりません。以下を閲覧できます: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html 多くの助けになるかどうかはわかりません。それらを秒として保存する場合は、mysql にそれらを追加させるだけです。それ以外の場合は、それらをスクリプトに取り込み、秒に変換し、それらを一緒に追加してから、必要に応じてより読みやすい形式に変換します。

于 2012-04-11T23:19:40.327 に答える
0

これを試してください(時刻または日時を使用してください):

 select ADDTIME(time1,time2);

mysqlの時間は次の形式です

'01:02:03'

日時は

 '2003-12-31 01:02:03'
于 2012-04-11T23:22:40.327 に答える