怎样用SQL语句将“20041231170343”形式的字符串转换成datetime型

解决方案 »

  1.   

    declare @s varchar(200)
    select @s='20041231170343'
    print substring(@s,1,4)+'-'+substring(@s,5,2)+'-'+substring(@s,7,2)+' '+substring(@s,9,2)+':'+substring(@s,11,2)+':'+substring(@s,13,2)
      

  2.   

    declare @t varchar(50)
    set @t='20041231170343'
    select convert(datetime,left(@t,4)+'-'+substring(@t,5,2)+'-'+substring(@t,7,2)+' '+substring(@t,9,2)+':'+substring(@t,11,2)+':'+substring(@t,13,2))
      

  3.   

    Declare @S Varchar(100)
    Set @S='20041231170343'
    Select Cast (Stuff(Stuff(Stuff(@S,13,0,':'),11,0,':'),9,0,' ') As DateTime)
    --結果
    2004-12-31 17:03:43.000