Sql server 2008中的方式(时间列+时间列)

时间:2016-10-10 08:59:21

标签: sql-server sql-server-2008 tsql

我的时间计算有问题。

例如:我有一个名为TabA的table1,其字段为:idA1(数据类型为Datetime),A2(数据类型为Datetime):

TabA
--------- ---------- ---------- 
id         A1           A2
 001      8:10:00      9:20:00

我想计算(A1+A2)。我期望的例子中的结果是:17:30:00或17h 20mn 00sn

无论如何,请帮助显示。

1 个答案:

答案 0 :(得分:2)

DateTimeTime不同。
DateTime数据类型支持+运算符添加:

DECLARE @A datetime, @B datetime

SELECT @A = '08:10:00',
       @B = '09:20:00'

SELECT CAST((@A + @B) As time)

结果:17:30:00

然而,Time数据类型不支持add运算符,所以写下这个:

DECLARE @A time, @B time

SELECT @A = '08:10:00',
       @B = '09:20:00'

SELECT CAST((@A + @B) As time)

会导致错误:

  

添加操作符的操作数数据类型时间无效。