0

我有两列startDate( -year 160812、month、day)和startTime112345-hour、mimutes、seconts),它们的varchar数据类型是我的目标是将它们连接起来并将它们转换为datetime。我应该向他们添加其他列 ( duration - int)

我试过这样的事情:

WITH [A] AS 
(
    SELECT (startDate + startTime) AS time1
    FROM [Date] 
 )
SELECT 
    CONVERT(datetime, A.time1, 20)
FROM 
    [A]  

但是我收到一条错误消息:

消息 241,级别 16,状态 1,第 1 行
从字符串转换日期和/或时间时转换失败。

有什么更好的想法可以尝试吗?

4

1 回答 1

1

我想你想要这样的东西:

select (convert(datetime, startDate, 12) + 
        convert(time, stuff(stuff(startTime, 5, 0, ':'), 3, 0, ':')))
       ) as dt
于 2017-01-06T12:47:43.740 回答