例如:2007,6,1
      2007,12,1
      2007,1,12
      2007,10,10
转变成2007-06-01
      2007-12-01
      2007-01-12
      2007-10-10
希望大家给个好的办法?

解决方案 »

  1.   


    Declare @Year Int, @Month Int, @Day Int
    Select @Year = 2007, @Month = 6, @Day = 1
    Select Convert(Varchar(10), Convert(DateTime, Rtrim(@Year) + '-' + Rtrim(@Month) + '-' + Rtrim(@Day)), 120)
    --2007-06-01
      

  2.   

    --建立函數
    Create Function F_TEST(@Year Int, @Month Int, @Day Int)
    Returns Varchar(10)
    As
    Begin
    Declare @S Varchar(10)
    Select @S = Convert(Varchar(10), Convert(DateTime, Rtrim(@Year) + '-' + Rtrim(@Month) + '-' + Rtrim(@Day)), 120)
    Return @S
    End
    GO
    --測試
    Select dbo.F_TEST(2007, 6, 1)
    --結果
    /*
    2007-06-01
    */