1
start date: 2012-05-29 08:30:00.000
end date: 2012-05-29 15:00:00.000

DATEDIFF(hour,StartDateTime,EndDateTime)

これで 7 時間かかりますが、実際には 6.30 時間です

どうすれば計算できますか?

4

7 に答える 7

1

精度が必要な場合は、このアプローチを使用する必要があります

declare @start_date datetime, @end_Date datetime
select @start_date='2012-05-29 08:30:00.000', @end_date='2012-05-29 15:00:00.000'
select datediff(minute,@start_date ,@end_Date)/60.0
于 2012-07-13T06:42:15.813 に答える
1
declare @start_date datetime, @end_Date datetime
select @start_date='2012-05-29 08:30:00.000'
select @end_date='2012-05-29 15:00:00.000'
select cast(DATEDIFF(MINUTE,@start_date,@end_Date)/60 as varchar)
+'.'+CAST(DATEDIFF(MINUTE,@start_date,@end_Date)%60 as varchar)

これにより、必要な結果が得られます

6.30

于 2012-07-13T06:46:16.013 に答える
0

時間と分の差で正確な時間を見つけるためのコード、

DECLARE @STARTDATE DATETIME='2015-10-03 19:49:37.000' 
DECLARE @ENDDATE DATETIME='2015-10-05 07:31:28.000'
DECLARE @HourOfDiff INT=CAST(datediff(minute,@STARTDATE ,@ENDDATE)/60.0 AS INT)
DECLARE @MinofDiff INT=DATEDIFF(mi,@STARTDATE,@ENDDATE)-(@HourOfDiff*60)
SELECT CAST(@HourOfDiff AS VARCHAR(10))+':'+ CAST(@MinofDiff  AS VARCHAR(10))
于 2015-10-13T06:06:46.720 に答える
0

差を分単位で取得し、分を時間に変換します。

于 2012-07-13T06:41:06.457 に答える
0

「時間」の日付部分を使用しているため、丸められた値が得られます。分を使用すると、390min が返ってきます。これが正解です。次に、時間に変換します。

このリンクは、このステートメントで何をしているのかをよりよく理解するのに役立ちます。MSDN でDATEDIFF 構文と使用方法も確認してください

サンプルコード:

    DECLARE @StartDateTime DATETIME='2012-05-29 08:30:00.000'
    DECLARE @EndDateTime DATETIME='2012-05-29 15:00:00.000'

     SELECT DATEDIFF(MINUTE,@StartDateTime,@EndDateTime)/60.0
于 2012-07-13T06:45:22.317 に答える
0

datediff 関数は、2 つの値の間の実際の時間ではなく、指定された単位の交差をカウントするだけです。したがって、あなたの場合、時間間の「時間」交差は9、10、11、12、13、14、および15であり、合計7つの「時間」交差になります。したがって、精度を高めるには、datediff 関数で必要な精度を表す時間単位を使用し、それを時間に変換します。

于 2012-07-13T06:46:13.387 に答える
0

次の作業例を使用できます-

SELECT DATEDIFF("mi",StartDate,EndDate)/60 AS TimeInHours FROM dbo.JobData<BR>

SELECT DATEDIFF("ss",StartDate,EndDate)/3600 AS TimeInHours FROM dbo.JobData

Hours Sql Server は正しい/正確なデータを生成しないため、分または秒でカウントしてから時間に変換します。

于 2016-04-05T16:28:08.053 に答える