SqlException:smalldatetime和time类型与add运算符不兼容

时间:2015-03-25 22:45:52

标签: sql-server sql-server-2012

我在SQL Server 2012上有一个数据库(具有2008兼容级别),我的代码如下所示:

DECLARE @BeginTime time
...
SELECT CONVERT(datetime2, BeginDate + ' ' + @BeginTime)
FROM MyTable ...

BeginDate定义为smalldatetime

此代码运行良好,直到我将数据库切换到2012兼容级别,在这种情况下出现此错误:

  

SqlException:smalldatetime和time类型与add operator ...

不兼容

在继续操作之前,我应该将我的2个操作数转换为varchar吗?担心表现......

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

尝试这样的事情......

DECLARE @BeginTime time;
SET @BeginTime = '12:20:00.467'

SELECT CONVERT(datetime2, BeginDate + CONVERT(SmallDateTime, @BeginTime))
FROM MyTable