一个日期字段,我现在要取得年-月-日一般的日期转换方法是这样的
convert(varchar,dateandtime,112)
但是结果不是我要的那种形式,如何写出最高效的方式来达到我的需要呢注:可不要用left哦,因为你不能保证正确。

解决方案 »

  1.   

    select convert(varchar(10),dateandtime,120)
    楼主是想把'-'变成汉字是吗?
      

  2.   

    变成汉字是吗?select left(convert(varchar(10),dateandtime,120),4) + '年' +
           substring(convert(varchar(10),dateandtime,120),6,2) + '月' + 
           substring(convert(varchar(10),dateandtime,120),9,2) + '日'
    from tb
      

  3.   

    select rtrim(year(dateandtime))+'年'+rtrim(month(dateandtime))+'月'+rtrim(day(dateandtime))
      

  4.   

    select 
    stuff(stuff(convert(varchar(10),dateandtime,120),charindex('-',convert(varchar(10),dateandtime,120)),1,'年'),
    charindex('-',stuff(convert(varchar(10),dateandtime,120),charindex('-',convert(varchar(10),dateandtime,120)),1,'年')),1,'月')+'日'
      

  5.   

    btut2004(养鱼炒股) ( ) 信誉:100    Blog   加为好友  2007-04-17 15:36:53  得分: 0  
     
     
       不是啊,我说要
    2007-04-17这种形式
      
    ------------------------------------
    select convert(char(10),getdate(),120)
      

  6.   

    select convert(char(7),getdate(),120)
      

  7.   

    convert(varchar(07),[date],120)就可以了
      

  8.   

    btut2004(养鱼炒股) ( ) 信誉:100    Blog   加为好友  2007-04-17 15:38:17  得分: 0  
     
     
       说错了,是要
    2007-04这种形式。就是只要年和月,嘿嘿
      
    ----------------------------------
    select convert(char(7),getdate(),120)
      

  9.   

    --try
    select convert(varchar(7),getdate(),120)
      

  10.   

    说错了,是要
    2007-04这种形式。就是只要年和月,嘿嘿select convert(varchar(7),dateandtime,120) from tb2007-04-01这种形式。
    select convert(varchar(10),dateandtime,120) from tb
      

  11.   

    LZ查查convert的用法,
    112,120,108等,轉換出來不同的結果
      

  12.   

    select convert(varchar(7),getdate(),120)
    is good!
      

  13.   


    select convert(char(7),getdate(),120)
    ------- 
    2007-04(所影响的行数为 1 行)
      

  14.   

    取day month year组合,很灵活