DATEDIFF 四舍五入截止日期小时 SQL Server

use*_*064 1 t-sql sql-server datediff hour

我的客户有这个 KTV 小时规则,所有退房时间超过 20 分钟将被视为额外的 1 小时。

示例代码如下:

  declare @dateStart as datetime, @dateEnd as datetime

  set @dateStart = cast('3/2/2013 8:00:00 PM' as datetime)
  set @dateEnd   = cast('3/2/2013 9:20:02 pm' as datetime)

  SELECT DATEDIFF(hour, @dateStart, @dateEnd) 
Run Code Online (Sandbox Code Playgroud)

上面的代码逻辑上返回 1:20 小时。在 SQL 服务器中,它将返回 1 小时。如何调整此代码以返回 2 小时?

提前致谢。

Isw*_*San 5

用这个:

declare @dateStart as datetime, @dateEnd as datetime

set @dateStart = cast('3/2/2013 8:00:00 PM' as datetime)
set @dateEnd   = cast('3/2/2013 9:20:02 pm' as datetime)

SELECT CEILING(CAST( DATEDIFF(minute, @dateStart, @dateEnd)as float) / 60)
Run Code Online (Sandbox Code Playgroud)

更多:天花板