3

これは私のコードで、結果は 1 ですが、期間が 1 分ではないため、0 でなければなりません

DECLARE @Start AS DATETIME = '2013-10-08 09:12:59.000'
DECLARE @End AS DATETIME   = '2013-10-08 09:13:09.000'

SELECT DATEDIFF(MI,@Start, @End)

この問題を回避するにはどうすればよいですか? SQL Server 2008 R2 を使用しています。

アップデート

秒で問題なく動作します.....分ではありません。

DECLARE @Start AS DATETIME = '2013-10-08 09:12:59.000'
DECLARE @End AS DATETIME   = '2013-10-08 09:13:09.000'

SELECT DATEDIFF(SS,@Start, @End)
4

5 に答える 5

3

DATEDIFF は非常に単純で、分を比較すると秒は考慮されません。

クエリを変更して差を秒単位で取得し、60 で割って切り捨てます。

于 2013-10-15T06:34:24.603 に答える
2

これを試して

DECLARE @Start AS DATETIME = '2013-10-08 09:12:59.000'
DECLARE @End AS DATETIME   = '2013-10-08 09:13:09.000'

SELECT DATEDIFF(SS,@Start, @End)/60
于 2013-10-15T06:40:42.083 に答える
2

9:12 ~ 9:13 = 1 分

より良い解像度が必要な場合SSは、datepart に秒 ( ) を使用してから 60 で割ります

于 2013-10-15T06:35:04.730 に答える