SQL:将日期和时间列合并为1个DateTime列

时间:2014-06-04 10:14:32

标签: sql sql-server

我对我的数据导入造成了一些麻烦,最后得到了以下几列:

Date (Type = INT) (DataFormat = 20131231)
Time (Type = datetime) (DataFormat = 1899-12-30 13:30:00.000)

我想最终将日期/时间列为1列作为日期时间类型,保留现有日期和时间,有没有办法转换现有列?

1 个答案:

答案 0 :(得分:3)

这是一种方法:

declare @Date int = 20131231
declare @DateTime datetime = '1899-12-30 13:30:00.000'

select dateadd(ms, 
               datediff(ms, cast(@DateTime as date), @DateTime),
               cast(cast(@Date as varchar(8)) as datetime)
              )