如何在SQL Server 2005中添加和减去小时数?

时间:2013-06-24 06:07:00

标签: sql sql-server-2005

我想添加24格式小时,然后根据我的要求,结果将是24格式或12格式小时我将使用两个函数

这是我的例子

add('08:05'+'02:00')结果是10:05

现在再次我想将上述结果转换为12小时格式,因此根据我的结果,它将是10:05 AM或10:05

2 个答案:

答案 0 :(得分:3)

您可以使用DateAdd功能执行此操作,例如Dateadd(hour,2, @yourTime) 要显示结果,您可以使用convert功能。 convert函数有很多格式选项,所以选择一个适合你需要的格式(我猜'0'就可以了)。

示例:

select convert(varchar, dateadd(hour,2,myTimeColumn),0) as PlusTwoHours 
 from myTable. 

提示:避免在SQL中进行格式化。我建议删除convert部分并在应用程序中进行格式化(报表引擎,excel或其他)。

答案 1 :(得分:0)

DECLARE @TimeValueA as DateTime
DECLARE @TimeIncrementHours as int

SET @TimeValueA = '10:05:000'

SET @TimeIncrementHours  = 2


SELECT dateadd(hour,@TimeIncrementHours, @TimeValueA)

要检查并查看时间是12小时还是24小时,请将CONVERT函数用于varchar,如下所示:

24小时

SELECT CONVERT(varchar, dateadd(hour,@TimeIncrementHours, @TimeValueA),108)

或12小时

SELECT CONVERT(varchar(20), dateadd(hour,@TimeIncrementHours, @TimeValueA),100)

在您要添加两个DateTime的

的情况下
  

SELECT CONVERT(datetime,'10:00:000')+ CONVERT(datetime,'2:10:000')