2010-07-08 3 views
1

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.Version SQL Server de ADD_MONTHS()

Oracle Exemple

Select TestDate, 
     TestFrequency, 
     ADD_MONTHS(TestDate, TestFrequency) AS FutureTestDate 
    FROM Tests 

Source: java's website

+2

BTW, le nom du produit est « SQL Serveur " –

+0

@John Je suis conscient de cela. Je voulais que les gens réalisent que je parlais de la version Microsoft vs MySQL, etc ... pour moi mieux que de taper "Microsoft SQL Server". –

+0

le problème est que "MSSQL" est facilement confondu avec "MySQL". En outre, la plupart des personnes qui cherchent des questions sur SQL Server ne vont naturellement pas chercher la chaîne "MSSQL". D'ailleurs, je n'ai jamais entendu parler d'un autre produit s'appelant "un serveur SQL". –

Répondre

6

Son DATEADD(MONTH, TestFrequency, TestDate) pour ajouter TestFrequency nombre de mois à la zone de date TestDate.

1

Je ne suis pas sûr de savoir comment fonctionne Oracles ADD_MONTHS, mais MS Sql a ceci:

Declare @NumMonthsToAdd TinyInt Set @NumMonthsToAdd = 6 
    Declare @aDate DateTime Set @aDate = '12 Jan 2010' 
    Select DateAdd(month, @numMonthstoAdd, @aDate) 
     -- above will generate datetime of '12 July 2010' 
1
CREATE FUNCTION [dbo].[ADD_MONTHS] 
(
    @inDate SMALLDATETIME, 
    @inFrequency INT 

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


-- TO Call : 
-- SELECT dbo.ADD_MONTHS(3,getdate()) AS newDate 

- S'il vous plaît marquer comme réponse si cela vous a aidés à mieux alors la réponse avant -