SqlServer中将代表时间的整数或字符串转为datetime时间类型
declare @date int, @time int
set @date = 20200514
set @time = 230448
declare @StrTime varchar(10), @StrDate varchar(8), @GrantDateTime datetime
select @StrDate = convert(varchar(8),@date)
select @StrTime = right('000000'+cast(@time as varchar) ,6)
select @GrantDateTime = cast(@StrDate + ' ' + LEFT(@StrTime,2) + ':' + SUBSTRING(@StrTime, 3, 2) + ':' + RIGHT(@StrTime, 2) as datetime)
select @GrantDateTime
结果: