日期:2014-05-18  浏览次数:20528 次

Varchar类型转DateTime类型问题
请教200708011145(varchar类型)怎么转换成2007-08-01   11:45(datetime类型)谢谢!

------解决方案--------------------
declare @s as varchar(20)
set @s = '200708011145 '

select cast(left(@s , 4) + '- ' + substring(@s,5,2) + '- ' + substring(@s,7,2) + ' ' + substring(@s , 9,2) + ': ' + right(@s,2) as datetime)


------解决方案--------------------
convert(datetime,left(字段名,4)+ '- '+substring(字段名,5,2)+ '- '+substring(字段名,7,2)+ ' '+substring(字段名,9,2) + ': ' + right(字段名,2))
------解决方案--------------------
乌龟正解
------解决方案--------------------
DECLARE @A CHAR(20)
SET @A= '200708011145 '
SELECT DATEADD(MI,RIGHT(RTRIM(@A),2)+SUBSTRING(@A,9,2)*60,LEFT(@A,8))
------解决方案--------------------
declare @t varchar(50)
set @t= '200708011145 '
set @t=substring(@t,1,8)+ ' '+substring(@t,8,2)+ ': '+substring(@t,10,2)
select cast(@t as datetime)


-----------------------
2007-08-01 11:14:00.000
------解决方案--------------------
这类字符串没有好办法,只能拆分组合成时间。如果出错,只能说数据有问题