date= 2009-1-1datename(dd,date)datename(mm,date)返回的分别是 01和1,
怎么能都返回 01和01

解决方案 »

  1.   

    select right('0'+datename(dd,'2009-1-1') ,2)
    /*
         
    ---- 
    01(所影响的行数为 1 行)
    */
      

  2.   

    DECLARE @DATE DATETIME
    SELECT @date= '2009-1-1'SELECT RIGHT('00'+CONVERT(VARCHAR(10),datename(dd,@date)),2),datename(mm,@date) 
    /*
    ---- ------------------------------
    01   01
    */
      

  3.   

    declare @date datetime
    set @date= '2009-1-1'select right('0'+ltrim(day(@date)),2)select right('0'+ltrim(month(@date)),2)