私のSQL文は、このようなものです0答えを得た:私は私の時間を減算するDATEDIFFを使用しますが、私は実行するたびに
SELECT DATEDIFF(hh, TimeIn,OutTime) AS Hours_Rendered
FROM DTR_TimeRecord
私のSQL文は、このようなものです0答えを得た:私は私の時間を減算するDATEDIFFを使用しますが、私は実行するたびに
SELECT DATEDIFF(hh, TimeIn,OutTime) AS Hours_Rendered
FROM DTR_TimeRecord
DATEDIFFは、暗黙的にDATETIME2型として文字列リテラルをキャストしていることに注意してください。これは、日付が文字列として渡されたときにDATEDIFFがYDM形式をサポートしないことを意味します。 YDM形式を使用するには、文字列をdatetimeまたはsmalldatetime型に明示的にキャストする必要があります。
あなたTimeInとOUTTimeは、同じ時間でなければなりません。以下のようなクエリ上記
TimeIn : '2016-05-17 11:31:33.190'
OutTime: '2016-05-17 11:35:41.790'
select DATEDIFF(HH, '2016-05-17 11:31:33.190', '2016-05-17 11:35:41.790')
はいつもあなたの
0を与えるしかし、あなたのOUTTimeは 'の2016年5月17日12:35:41.790' ですと仮定できるようになるその後
select DATEDIFF(HH, '2016-05-17 11:31:33.190', '2016-05-17 12:35:41.790')
上のクエリはあなたに1を与えるでしょう
感謝しました。この形式で回答を表示します.HH:MI:SS how私はこれをすることができますか? – Ralph
これは間違いなくあなたに役立つ
SELECT convert(TIME,dateadd(ms,DateDiff(ss, TimeIn, OutTime)*1000,0),114) AS Hours_Rendered FROM DTR_TimeRecord
timelnとOUTTimeはの日は何ですか? –
サンプルデータ(好ましくはDDL + DML)と希望の結果を含めるように質問を編集してください。 –
DATEDIFFの動作についての情報は、https://msdn.microsoft.com/en-us/library/ms189794.aspxを参照してください。 – Alex