数据库里保存的值是2008-12-3我要转换成2008-12-03
convert(char(10),date,120)我用这种方法怎么转不过来啊,还是2008-12-3是不是不能转?

解决方案 »

  1.   

    declare @dt char(10)
    set @dt='2008-12-3'
    select convert(char(10),cast(@dt as datetime),120)
    /*           
    ---------- 
    2008-12-03(影響 1 個資料列)*/
      

  2.   

    declare @date varchar(50)
    set @date = '2008-12-3'
    select convert(char(10),cast(@date as datetime),23)结果:2008-12-03
      

  3.   

    convert(char(10),cast([date] as datetime),120)
      

  4.   

    数据库里这个日期字段是char(10)这个类型的啊。。
    2008-12-03
    2008-12-03
    2008-12-03
    2008-12-03
    2008-12-4 
    2008-12-4 
    2008-12-5 
    我查询出来的还是这样郁闷
      

  5.   


    declare @date char(10)
    set @date = '2008-12-3'
    select convert(char(10),cast(@date as datetime),23)
      

  6.   

    if object_id('tb')is not null drop table tb
    go
    create table tb(dt char(10))
    insert tb select '2008-12-03' 
    insert tb select '2008-12-03' 
    insert tb select '2008-12-03' 
    insert tb select '2008-12-03' 
    insert tb select '2008-12-4' 
    insert tb select '2008-12-4' 
    insert tb select '2008-12-5'
    select convert(char(10),cast(dt as datetime),120) from tb 
    /*---------- 
    2008-12-03
    2008-12-03
    2008-12-03
    2008-12-03
    2008-12-04
    2008-12-04
    2008-12-05(影響 7 個資料列)*/
      

  7.   


    declare @t table
    (
    col char(10)
    )insert @t select '2008-12-4'select
    convert(char(10),convert(datetime,col,120),120)
    from @t/**
    2008-12-04
    **/