我在SQL Server 2012上有一个数据库(具有2008兼容级别),我的代码如下所示:
DECLARE @BeginTime time
...
SELECT CONVERT(datetime2, BeginDate + ' ' + @BeginTime)
FROM MyTable ...
BeginDate
定义为smalldatetime
。
此代码运行良好,直到我将数据库切换到2012兼容级别,在这种情况下出现此错误:
SqlException:smalldatetime和time类型与add operator ...
不兼容
在继续操作之前,我应该将我的2个操作数转换为varchar
吗?担心表现......
感谢您的帮助。
答案 0 :(得分:1)
尝试这样的事情......
DECLARE @BeginTime time;
SET @BeginTime = '12:20:00.467'
SELECT CONVERT(datetime2, BeginDate + CONVERT(SmallDateTime, @BeginTime))
FROM MyTable