我有两列nvarchar(5)
:
我希望将这些列的小时与datetime
列相加。
例如。如果我想在13:00
添加第一行的1996-09-10 00:00:00
,我应该得到:1996-09-10 13:00:00
。
答案 0 :(得分:2)
如果您希望结果是日期时间,您只需添加它们,SQL Server将隐式转换:
C:\\Program Files
1996-09-10 13:00:00.000
如果您使用的是datetime2,则它们不兼容:
DECLARE @TESTDT datetime
SET @TESTDT = '1996-09-10 00:00:00'
DECLARE @TESTHR nvarchar(5)
SET @TESTHR = '13:00'
SELECT @TESTDT + ISNULL(@TESTHR,'00:00')
Msg 402,Level 16,State 1,Line 6 数据类型datetime2和nvarchar在add运算符中不兼容。
答案 1 :(得分:2)
您可以使用以下内容:
DECLARE @time nvarchar(5) = '13:00',
@date datetime = '1996-09-10 00:00:00.000'
SELECT @date + CAST(@time as datetime)
会给你:
1996-09-10 13:00:00.000
答案 2 :(得分:0)