我有2个字段,日期和时间,需要合并到1个日期时间字段中。我已经看过这样做的功能,但它们似乎不能用于我的数据。
日期字符(8):20051101
时间字符(4):1115
需要的结果:日期时间代表2005年11月1日上午11:15
我该怎么做?
答案 0 :(得分:1)
假设您的数据类型为int
,您可以执行以下操作:
declare @d as int
declare @t as int
set @d = 20051101
set @t = 1115
select CAST(cast(@d as varchar) as datetime) + dateadd(hh, cast(left(@t, 2) as int), 0) + dateadd(N, cast(right(@t, 2) as int), 0)
更新了char:
declare @d as char(8)
declare @t as char(4)
set @d = '20051101'
set @t = '1115'
select CAST(@d as datetime) + dateadd(hh, cast(left(@t, 2) as int), 0) + dateadd(N, cast(right(@t, 2) as int), 0)