2017-01-20 29 views
2

私は週に全従業員の総勤務時間を計算する必要があるという報告があります。このレポートには、24時間以上(または86400秒)以上の時間が反映されます。すべての秒を「00:00:00」形式に変換して、列の形式をdatetimeまたはtimeとして保持して、時間フィールドを使用してさらに分析できるようにします。秒を'00:00:00 '形式に変換する - SQL Server

上記のコード
Declare @WorkTimeInSeconds int 
Set @WorkTimeInSeconds = 144000 **--This value is an example. Mostly values are above 86400 seconds** 
Select ActualHoursWorked =  convert(varchar,(@WorkTimeInSeconds)/3600) 
      + ':' + right('0' + convert(varchar,((@WorkTimeInSeconds) %3600)/60),2) 
      + ':' + right('0' + convert(varchar,(@WorkTimeInSeconds) %60),2) 

は私がレポートのために必要なものではありませんvarchar型にINTで秒を変換しかし上記の必要なものを私に与える:以下

は、私がこれまで試してみましたものです。私は上記の例で'40:00:00 'のような結果を得ることができるdatetime/time形式で出力する必要があります。 私はすべての情報を提供できることを願っています。私は何日もこのことに苦労しています。

予想される出力:40:00:00

+0

144000秒間所望の出力は何ですか? –

+0

@ AnoopH.N出力は40:00:00でなければなりません。申し訳ありませんが、予想される出力を追加するのを忘れています。今質問に追加されました。 –

答えて

1

たぶんCONVERTスタイルを試してみてください108

SELECT CONVERT(varchar(10),convert(varchar,(@WorkTimeInSeconds)/3600) 
      + ':' + right('0' + convert(varchar,((@WorkTimeInSeconds) %3600)/60),2) 
      + ':' + right('0' + convert(varchar,(@WorkTimeInSeconds) %60),2),108) 
関連する問題