create  function datevalid(@dt datetime)
returns varchar(6)
as 
begin
declare @imonth int
declare @nmonth varchar(2)
set @dt=dateadd(month,1,@dt)
set @imonth=convert(int,datepart(month,@dt))
if(@imonth<10)
set @nmonth='0'+convert(varchar(2),@imonth)
else 
set @nmonth=convert(varchar(2),@imonth)
return(convert(varchar(4),datepart(year,@dt))+@nmonth)
end
GO

解决方案 »

  1.   

    ALTER   function datevalid(@dt datetime)
    returns varchar(6)
    as 
    begin
    declare @imonth int
    declare @nmonth varchar(2)
    set @imonth=convert(int,datepart(month,@dt))
    if(@imonth<10)
    set @nmonth='0'+convert(varchar(2),@imonth)
    else 
    set @nmonth=convert(varchar(2),@imonth)
    return(convert(varchar(4),datepart(year,@dt))+@nmonth)
    end
    GO
      

  2.   

    substring(convert(varchar(20),rq ,120),1,7)
    转成‘yyyy-mm’
      

  3.   

    select convert(char(6),getdate(),112)
      

  4.   

    select convert(char(6),getdate(),112)
      

  5.   

    如果不是用getdate()获取时间 也可以使用以下方法:select convert(char(6),convert(datetime,'2004-10-4'),112)