2016-07-22 117 views
0

我試着用天花板圍捕一個DATEDIFF值,但仍然得到了零:四捨五入DATEDIFF,TSQL

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

是否有可能圍捕DATEDIFF?

+0

如果你想要在同一天發生的事情等於1而不是零,那麼它可能會更容易得到小時差和div除以24,然後將其舍入。 – Hogan

+1

您obatin爲零,因爲日差是零 – scaisEdge

+0

如果確實是同一時間,它應該返回什麼? –

回答

0

DATEDIFF()返回0當使用day如果兩個日期是同一天。您需要使用更小的時間增量和劃分DATEDIFF(),小時和24分鐘和1440,第二次和86,400,等的結果是:

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

注:由一個十進制值,否則鴻溝的DATEDIFF()結果會返回一個整數。