20060906102147一个vachar类型的如何转换为2006-09-06 10:21:47呢?

解决方案 »

  1.   

    呵呵,是不是可以在程序里面格式化了,不要在SQL里面来了!!!
    delphi 似乎可以做到,其他不知道!
      

  2.   

    很烂的办法~~~create function fstrtodatetime(@str varchar(20))
        returns datetime
    as
    begin
        set @str=substring(@str,1,4) + '-' + substring(@str,5,2) + '-' + substring(@str,7,2) + ' ' 
                +substring(@str,9,2) + ':' + substring(@str,11,2)+ ':' + substring(@str,13,2)    return cast(@str as datetime)
    end
    goselect dbo.fstrtodatetime('20060906102147')drop function fstrtodatetime
      

  3.   

    select to_date('20060906102147','yyyymmddhh24miss') from dual 在ORACKLE可以得出
    2006-09-06 10:21:47结论,你在sql server 中搜索一下“sp_...”可能得出你要的答案。
      

  4.   

    这样吧(前捍是格式是这种形式的:20060906102147
    declare @str varchar(100)
    set @str=stuff(stuff('20060906102147',11,0,':'),14,0,':')
    select cast(substring(@str,1,8) as datetime)+cast(substring(@str,9,8) as datetime)