2017-08-05 6 views
0

フィールドとリテラル文字列の間の分数の差を計算する際に問題が発生しています。しかし、私が得ている出力はまったく同じように見えますが、フィールドとリテラル文字列を比較できないように見えますが、両者が同じであれば、両方とも列値またはリテラル文字列です。フィールドとリテラル文字列を使用したDatediff

はここで、営業時間内時間の値を持つ照会フィールド与え、右の結果を得るためにとにかくありますSQL

select datediff(minute,enquiry,cast('17:00:00' as time)) 

from [dbo].[Test_Dates] 

です。次のように私は取得しています上記のクエリからの結果は次のとおりです。-61536240

+0

はお問い合わせフィールドのデータ型DATETIMEであることを確認しなければなりません? –

+0

はい、申し訳ありませんが、そのことを言及している必要があります – abs786123

+2

あなたも同様に時間を照会列をキャストする必要があります。 –

答えて

0

あなたは、時間形式の両方のフィールド

SELECT DATEDIFF(minute, CONVERT(CHAR(5), enquiry, 108) , CAST('17:00:00' as time)) 
    FROM [dbo].[Test_Dates] 

または

SELECT DATEDIFF(minute, CAST(enquiry as time) , CAST('17:00:00' as time)) 
    FROM [dbo].[Test_Dates] 
0
select datediff(minute,cast (enquiry as time),cast('17:00:00' as time)) from test_dates as t 
関連する問題