将 varchar 转换为 datetime 并添加秒数
Convert varchar to datetime and add seconds
我有两列 startDate
(160812
- 年、月、日)和 startTime
(112345
- 小时、分钟、秒)和 varchar
数据类型我的目标是连接它们并将它们转换为 datetime。我应该向他们添加其他列 (duration - int
)
我试过这样的事情:
WITH [A] AS
(
SELECT (startDate + startTime) AS time1
FROM [Date]
)
SELECT
CONVERT(datetime, A.time1, 20)
FROM
[A]
但是我收到一条错误消息:
Msg 241, Level 16, State 1, Line 1
Conversion failed when converting date and/or time from character string.
有什么更好的想法可以尝试吗?
我想你想要这样的东西:
select (convert(datetime, startDate, 12) +
convert(time, stuff(stuff(startTime, 5, 0, ':'), 3, 0, ':')))
) as dt
我有两列 startDate
(160812
- 年、月、日)和 startTime
(112345
- 小时、分钟、秒)和 varchar
数据类型我的目标是连接它们并将它们转换为 datetime。我应该向他们添加其他列 (duration - int
)
我试过这样的事情:
WITH [A] AS
(
SELECT (startDate + startTime) AS time1
FROM [Date]
)
SELECT
CONVERT(datetime, A.time1, 20)
FROM
[A]
但是我收到一条错误消息:
Msg 241, Level 16, State 1, Line 1
Conversion failed when converting date and/or time from character string.
有什么更好的想法可以尝试吗?
我想你想要这样的东西:
select (convert(datetime, startDate, 12) +
convert(time, stuff(stuff(startTime, 5, 0, ':'), 3, 0, ':')))
) as dt