2016-07-22 5 views
0

を切り上げ私はDATEDIFF値を切り上げるCEILINGを使用してみましたが、それでもゼロを得た:はDATEDIFF、TSQL

SELECT (CEILING(DATEDIFF(DAY, '2016-04-02T04:59:59', '2016-04-02T05:59:59'))) 

はDATEDIFFを切り上げすることは可能ですか?

+0

同じ日に起こったことがゼロではなく1になるようにするには、時間差を得てdivで24分してからそれを上回る方が簡単かもしれません。 – Hogan

+1

日の差分がゼロであるため、ゼロがゼロになります – scaisEdge

+0

全く同じ時刻になるとどうなりますか? –

答えて

0

DATEDIFF()0の場合、dayを使用する場合、2つの日付が同じ日である場合は0を返します。あなたはなど、より小さな時間増分を使用し、DATEDIFF()の結果を分割し、時間と24、分および1440年、第二にする必要があり、86,400:

SELECT CEILING(DATEDIFF(Second, '2016-04-02T04:59:59', '2016-04-02T05:59:59')/(24.0*60*60)) 

注:小数点以下の値でDATEDIFF()結果を割りそうでなければなり整数を返します。