select cast('2009-9-9' as datetime)-----------------------
2009-09-09 00:00:00.000(1 行受影响)

解决方案 »

  1.   

     使用convert   函数  
        
      在sql   中     select   convert(datetime,b,120)     from表
      

  2.   


    declare @T varchar(30)
    set @t='2009040113001010'  --这种样子的字符串?
    select cast(
    (left(@t,4)+'-'+substring(@t,5,2)+'-'+substring(@t,7,2)+' '+substring(@t,9,2)+':'+substring(@t,10,2)+':')+right(@t,2)
    as datetime)
      

  3.   

    declare @s varchar(30)
    set @s='20090401131812'
    select cast(left(@s,8)+' '+substring(@s,9,2)+':'+substring(@s,11,2)+':'+right(@s,2) as datetime)/**------------------------------------------------------ 
    2009-04-01 13:18:12.000(所影响的行数为 1 行)
    **/
      

  4.   

    declare @T varchar(30)
    set @t='20090401131010'
    select cast(
    (left(@t,4)+'-'+substring(@t,5,2)+'-'+substring(@t,7,2)+' '+substring(@t,9,2)+':'+substring(@t,11,2)+':')+right(@t,2)
    as datetime)
      

  5.   


    convert(datetime,'字符串')
    cast('字符串' as datetime)能转这两个函数就能帮你转了.
      

  6.   


    select CONVERT(datetime,'20080204')
    select CAST ('20080204' as datetime)----------
    2008-02-04 00:00:00.000
      

  7.   

    declare @s varchar(30)
    set @s='20090401131812'
    select cast(left(@s,8)+' '+substring(@s,9,2)+':'+substring(@s,11,2)+':'+right(@s,2) as datetime)