如何组合两个日期时间的日期时间值。 第一个值包含适当的日期,第二个值包含适当的时间(但也有一个我想跳过的日期)。
DECLARE @date DATETIME = '2016-12-08 00:00:00.000'
DECLARE @time DATETIME = '2016-12-07 12:15:00.000'
SELECT @date + @time
返回:2133-11-14 12:15:00.000
但我想:2016-12-08 12:15:00.000
答案 0 :(得分:1)
在Convert
函数中使用 style 部分来提取date
中的time
和varchar
(避免显式转换为varchar
)键入并连接结果以获得结果日期
试试这个
DECLARE @date DATETIME = '2016-12-08 00:00:00.000'
DECLARE @time DATETIME = '2016-12-07 12:15:00.000'
SELECT CONVERT(DATETIME, CONVERT(VARCHAR(50), @date, 112) + ' '
+ CONVERT(VARCHAR(50), @time, 114))
结果: 2016-12-08 12:15:00.000