hehe,我也加班select convert(datetime,replace('1999.9','.','-')+'-1',20)

解决方案 »

  1.   

    select convert(varchar(10),cast('1999.9'+'.01' as datetime),120)
      

  2.   

    declare @a char(10)
    set @a='1999.9'
    select convert(varchar(10),cast(@a+'.1' as datetime),120)
      

  3.   

    Convert可以完成类型之间的转换,120表示的是转化的datetime的格式
    yyyy-mm-dd hh:mm:ss
      

  4.   

    测试:
    declare @a char(10)
    set @a='1999.9'
    select convert(varchar(10),cast(@a+'.1' as datetime),120)---------- 
    1999-09-01(所影响的行数为 1 行)
    select convert(datetime,replace('1999.9','.','-')+'-1',20)
    ------------------------
    1999-09-01 00:00:00.000(所影响的行数为 1 行)
    select replace(convert(char(10),'1999.9'+'.1',20),'.','-')
    ----------------
    1999-9-1(所影响的行数为 1 行)