保存的数据中有两个字符串型字段“时间”和“日期”,保存的为yyyy-m-d和h:mm:ss格式,现在想把这些已经保存的数据转换为yyyy-mm-dd和hh:mm:ss格式的,例如:2011-1-1转换为2011-01-01格式,谢谢

解决方案 »

  1.   

      select   CONVERT(varchar,   getdate(),   120   )  
      2004-09-12   11:06:08  
       
      select   replace(replace(replace(CONVERT(varchar,   getdate(),   120   ),'-',''),'   ',''),':','')  
      20040912110608  
       
      select   CONVERT(varchar(12)   ,   getdate(),   111   )  
      2004/09/12  
       
      select   CONVERT(varchar(12)   ,   getdate(),   112   )  
      20040912  
       
      select   CONVERT(varchar(12)   ,   getdate(),   102   )  
      2004.09.12  
       
      其它我不常用的日期格式转换方法:  
       
      select   CONVERT(varchar(12)   ,   getdate(),   101   )  
      09/12/2004  
       
      select   CONVERT(varchar(12)   ,   getdate(),   103   )  
      12/09/2004  
       
      select   CONVERT(varchar(12)   ,   getdate(),   104   )  
      12.09.2004  
       
      select   CONVERT(varchar(12)   ,   getdate(),   105   )  
      12-09-2004  
       
      select   CONVERT(varchar(12)   ,   getdate(),   106   )  
      12   09   2004  
       
      select   CONVERT(varchar(12)   ,   getdate(),   107   )  
      09   12,   2004  
       
      select   CONVERT(varchar(12)   ,   getdate(),   108   )  
      11:06:08  
       
      select   CONVERT(varchar(12)   ,   getdate(),   109   )  
      09   12   2004   1  
       
      select   CONVERT(varchar(12)   ,   getdate(),   110   )  
      09-12-2004  
       
      select   CONVERT(varchar(12)   ,   getdate(),   113   )  
      12   09   2004   1  
       
      select   CONVERT(varchar(12)   ,   getdate(),   114   )  
      11:06:08.177   
      

  2.   

    select CONVERT(varchar(12) , '2010/1/2/', 111 )
    这样的话不行
      

  3.   

    declare @d varchar(20)
    set @d='2011-1-1'
    select convert(char(10),CONVERT(datetime,@d),120)
      

  4.   

    declare @d varchar(20)
    set @d='2010/1/2'
    select convert(char(10),CONVERT(datetime,@d),120)
      

  5.   

    select cast('2010/1/2' as datetime )
      

  6.   


    up.
    declare @a varchar(100)
    set @a='2011-1-8'
    select CONVERT(varchar(10),cast(@a as date),120)