1 votes

Version SQL Server de ADD_MONTHS() d'Oracle

Dans Oracle, vous pouvez utiliser ADD_MONTHS pour ajouter des mois à la volée dans l'instruction SQL. Quelle est la version MS SQL.

Exemple Oracle

Sélectionnez TestDate, 
       TestFrequency,
        ADD_MONTHS(TestDate, TestFrequency) AS FutureTestDate 
  FROM Tests

Source : site web de Java

4voto

Alex K. Points 67805

C'est DATEADD(MONTH, FréquenceTest, DateTest) pour ajouter FréquenceTest nombre de mois au champ de date DateTest.

2voto

OMG Ponies Points 144785

L'équivalent TSQL de SQL Server de la fonction ADD_MONTHS de PLSQL d'Oracle est DATEADD:

SELECT TestDate, 
       TestFrequency,
       DATEADD(mm, TestFrequency, TestDate)
  FROM TEST

1voto

Charles Bretana Points 59899

Je ne suis pas sûr exactement comment fonctionne Add_Months d'Oracle, mais MS Sql a ceci :

   Declare @NumMonthsToAdd TinyInt Set @NumMonthsToAdd  = 6
   Declare @aDate DateTime Set @aDate = '12 Jan 2010'
   Select DateAdd(month, @numMonthstoAdd, @aDate)
      -- ci-dessus générera une date et heure de '12 July 2010'

0voto

Jersey_Guy Points 1
CREATE FUNCTION [dbo].[ADD_MONTHS]
(
    @inDate SMALLDATETIME,
    @inFrequency INT

)
RETURNS DATETIME
AS
BEGIN
    RETURN DATEADD(MONTH, @inFrequency, @inDate)
END

-- POUR Appeler : 
-- SELECT dbo.ADD_MONTHS(3,getdate()) AS newDate

-- Veuillez marquer comme réponse si cela vous a aidé mieux que la réponse précédente -

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X