存储过程中,一个任意日期,如
DECLARE @OPENINGDATE VARCHAR(20)
@OPENINGDATE = '20050922'
请问怎么求2005年9月的最后一天的日期阿,即20050930
谢谢!

解决方案 »

  1.   

    先找到2005年10月1日,然后用dayadd函数减一天得到9月30日
      

  2.   

    set @OPENINGDATE =convert(nvarchar(20),dateadd(dd,-1,convert(datetime,'20051001')),112)
      

  3.   

    DECLARE @OPENINGDATE VARCHAR(20)
    Declare @mDate varchar(12) 
    declare @wdate varchar(8)
    declare @tmpdate datetime
    select @OPENINGDATE = '20050922'
    select @mdate=substring(@Openingdate,1,4)+'-'+substring(@Openingdate,5,2)+ '-01'select @tmpdate=dateadd(m,1,convert(datetime,@mDate,102))select @wDate=convert(char(8),dateadd(d,-1,convert(datetime,@tmpdate,102)),112)print @wdate
      

  4.   

    CREATE PROCEDURE GetBackDate@strDate NVARCHAR(8),--前台应用程序传入
    @strBackDate NVARCHAR(20) OUTPUT--返回应用程序ASSET @strBackDate=CONVERT(NVARCHAR(20),DATEADD(DD,-1,CONVERT(DATETIME,@strDate)),112)GO