2016-04-28 5 views
6

だから私はSQL Serverの2つのtime(hh:mm:ss)を引く方法を知らない。SQL Serverで2つの時間を引く方法は?

これは私の文です:

where 
(CONVERT(TIME(7), [EndWork], 102)) - (CONVERT(TIME(7), [StartWork], 102)) < 
CONVERT(TIME(7), ' 8:30:00', 102) 
+0

で差分を返す--will、SQL Serverは、*インターバル*時刻を表すデータ型を持っていません。私は強く思っています*時間*を使用してその値を保存するのではなく、間隔を表すためにはあまり役に立ちません(負の値を許さず、値をサポートしません24時間以上)。したがって、あなたが減算を行ったとしても、それを 'CONVERT(TIME(7)、 '8:30:00'、102)と比較しようとするのはお勧めできません。 –

+0

これはASP.NET MVCとは関係ありません。 –

答えて

1
DECLARE @END_DATE TIME = '' ,  
    @START_DATE TIME = '' 
    SELECT CONVERT(TIME,DATEADD(MS,DATEDIFF(SS, @START_DATE, @END_DATE)*1000,0),114) 
1

あなたはこのようDATEDIFF機能を使用しようとすることができます

where DATEDIFF(HH,StartWork, EndWork) 
0

あなたが好きなだけでwrute問い合わせることができます:

SELECT CONVERT(varchar,(EndWork- StartWork), 108) FROM tablename 

出力リターンを(hh:mm:ss)フォーマット。

3

機能DATEDIFF機能を使用すると、必要に応じて、年/月/日/時/分/秒の2つの日付/時刻の違いが得られます。

例: - DATEDIFF (MINUTE , startdate , enddate)は分残念なことに

関連する問題