Reputation: 2381
In Oracle, you can use ADD_Months to add months on the fly in the sql statement. What is the MS SQL version.
Oracle Example
Select TestDate,
TestFrequency,
ADD_MONTHS(TestDate, TestFrequency) AS FutureTestDate
FROM Tests
Source : java's website
Upvotes: 1
Views: 18116
Reputation: 907
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
Upvotes: 1
Reputation: 332501
SQL Server's TSQL equivalent to Oracle's PLSQL ADD_MONTHS function is DATEADD:
SELECT TestDate,
TestFrequency,
DATEADD(mm, TestFrequency, TestDate)
FROM TEST
Upvotes: 2
Reputation: 175748
Its DATEADD(MONTH, TestFrequency, TestDate)
to add TestFrequency
number of months to the date field TestDate
.
Upvotes: 8
Reputation: 146409
I'm not exactly sure how Oracles Add_Months works, but MS Sql has this:
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'
Upvotes: 1