「23:30」と「24:00」の違いを探している場合は、技術的には翌日です。
select datediff (minute, '2012-07-10 23:30','2012-07-11 00:00')
使用する場合:
select datediff (minute, '23:30','00:00')
'00:00'は同じ日として解釈されているため、。を取得してい-1410
ます。1日の合計は1440分で、差として30分を引いたものがあります。DATEDIFF
関数は次のとおりです。
DATEDIFF ( datepart , startdate , enddate )
終了日「00:00」が開始日より前の場合は、負の数になります。
編集:
あなたのコメントに基づいて、あなたはあなたのテーブルに以下を使用し、次にそのCASE
周りのステートメントを使用endtime
してそれに日を追加します:
select datediff(minute
, starttime
, case
when endtime = '00:00'
then dateadd(d, 1, endtime)
else endtime END)
from yourtable
SQL FiddlewithDemoを参照してください