簡単な質問だと思いますが、行き詰まっています。曜日と時間を別々に試しDateDiff
ましたが、24 時間を超える場合に日付を検出できるようにしたいと考えています。
例えば:
Date1: 20/12/2011
Time1: 9:00
Date2: 21/12/2011
Time2 : 13:00
Days Taken: 1
Time Taken: 28
日数と時間を計算したいので、1 日と 4 時間が望ましい結果です。
誰でもこれを行う方法を教えてもらえますか? 感謝。
簡単な質問だと思いますが、行き詰まっています。曜日と時間を別々に試しDateDiff
ましたが、24 時間を超える場合に日付を検出できるようにしたいと考えています。
例えば:
Date1: 20/12/2011
Time1: 9:00
Date2: 21/12/2011
Time2 : 13:00
Days Taken: 1
Time Taken: 28
日数と時間を計算したいので、1 日と 4 時間が望ましい結果です。
誰でもこれを行う方法を教えてもらえますか? 感謝。
おそらくの助けを借りてMODULO
:
SELECT (
DATEDIFF(dd,
CONVERT(datetime,'20/12/2011 09:00:00',104),
CONVERT(datetime,'21/12/2011 13:00:00',104))
) AS [days taken],
(
DATEDIFF(hh,
CONVERT(datetime,'20/12/2011 09:00:00',104),
CONVERT(datetime,'21/12/2011 13:00:00',104))
% 24
) AS [hours taken]
結果:
DAYS TAKEN HOURS TAKEN
1 4
SQL サーバーで。
declare @d1 datetime = '20111220 09:00:00'
declare @d2 datetime = '20111221 13:00:00'
select hours/24 daysTaken, hours%24 hoursTaken
from (
select datediff(hh,@d1,@d2) hours
) A
--Results
daysTaken hoursTaken
1 4
SQLServerを使用していると仮定します
Select datediff(hour,date1,date2)/24.0 from table