Homa Page di Daniele Franceschini
Recuperare il numero del mese precedente a run time
A volte succede di dover fare delle operazioni particolari sulle date ad esempio, si rende necessario recuperare in fase di esecuzione di una stored procedure parti di una data. Nell'esempio sottostante che di per se non ha molto senso potrebbe essere utilizzato insieme ad altre procedure presentate in questa sezione per comporre delle date relativi a periodo precedenti a quello di esecuzione.
CREATE PROCEDURE sp_GetPreviousMonth(@MYMONTH CHAR(2), @MONTH CHAR(2) OUTPUT) as
IF (@MYMONTH = '')
BEGIN
SET @MONTH = CONVERT(CHAR(2),
MONTH(CONVERT(SMALLDATETIME ,DATEADD(MM,-1,GETDATE()),112)))
IF (@MONTH<10)
SET @MONTH = '0' + @MONTH
END
ELSE
BEGIN
SET @MONTH = CONVERT(CHAR(2),
MONTH(CONVERT(DATETIME,DATEADD(DD,-1,CONVERT(VARCHAR(4),YEAR(GETDATE())) +
RIGHT('00'+@MYMONTH,2)+ '01'),112)))
IF (@MONTH<10)
SET @MONTH = '0' + @MONTH
END



