将2008-02-15 41:24:45.000  格式    转换成 2008-02-15 或 20080215 下面的语句怎么不能实现,请教下大家
select convert(varchar(20),'2008-02-15 41:24:45.000',112 ) 

解决方案 »

  1.   

    select   convert(varchar(10),'2008-02-15   41:24:45.000',112   )   
      

  2.   

    select   convert(nvarchar(10),'2008-02-15 41:24:45.000',120)   
      

  3.   

    select   convert(varchar(10),'2008-02-15   41:24:45.000',112   )  
      

  4.   

    declare @date datetime
    set @date=getdate()
    select convert(varchar(10),@date,120),
    datename(year,@date)+datename(month,@date)+datename(day,@date)
      

  5.   

    select   convert(varchar(10),'2008-02-15   41:24:45.000',112   )   
    控制varchar长度就可以了
      

  6.   

    个人觉得还是先转换再应用到SQL里去
      

  7.   

    为什么想得那么复杂呢?
    直接使用LEFT,REPLACE即可
    select       LEFT('2008-02-15   41:24:45.000',10)    
    select       REPLACE(LEFT('2008-02-15   41:24:45.000',10),'-','')
      

  8.   

    在数据库中存储时总是2008-02-15   0:00:00, 
    怎么只存储2008-02-15
    ========================================
    不能,datetime类型是两个4字节整数,第二个4字节整数保存时间。
      

  9.   

    select convert(char(10),getdate(),120) --2008-02-18
    select convert(char(8),getdate(),112)--20080218
      

  10.   


    declare  @T varchar(10)
    set @T='2008-02-15 41:24:45.000'
    select convert(char,@T,112) 
    select convert(char,convert(datetime,@T),112)
      

  11.   

    select       convert(nvarchar(10),'2008-02-15   41:24:45.000',120)   
      

  12.   

    select convert(varchar(8),getdate(),112)-------- 
    20080218(所影响的行数为 1 行)