SQL Server version of Oracle's ADD_MONTHS()

6kkfgxo0  于 2023-05-28  发布在  SQL Server
关注(0)|答案(4)|浏览(149)

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

pcrecxhr

pcrecxhr1#

Its DATEADD(MONTH, TestFrequency, TestDate) to add TestFrequency number of months to the date field TestDate .

2vuwiymt

2vuwiymt2#

SQL Server's TSQL equivalent to Oracle's PLSQL ADD_MONTHS function is DATEADD :

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

5lhxktic3#

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'
prdp8dxp

prdp8dxp4#

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

相关问题