2010-12-06 209 views
0

我有2个字段,日期和时间,它们需要合并到1个日期时间字段中。我见过这样做的函数,但它们似乎不适用于我的数据。日期和时间字段合并到SQL Server 2000中的日期时间?

日期CHAR(8):20051101
时间CHAR(4):1115

结果所需要的:代表2005年11月1日的日期时间,上午11:15

我怎样才能做到这一点?

+0

哪些字段的数据类型? – HLGEM 2010-12-06 16:17:35

+0

如有疑问,请参阅修改。 – MAW74656 2010-12-06 16:22:39

回答

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) 

更新了焦炭:

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) 
相关问题