2010-07-08 26 views
1

在Oracle中,您可以使用ADD_Months在sql語句中實時添加月份。什麼是MS SQL版本。Oracle的ADD_MONTHS()的SQL Server版本

的Oracle實例

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

來源:java's website

+2

BTW,產品名稱爲「SQL服務器「 – 2010-07-08 21:38:40

+0

@John我意識到這一點。想要確保人們意識到我說的是Microsoft版本與MySQL等,對我來說比輸入「Microsoft SQL Server」更好。 – 2010-07-14 14:32:41

+0

問題在於「MSSQL」很容易與「MySQL」混淆。此外,大多數尋找關於SQL Server的問題的人自然不會去搜索字符串「MSSQL」。此外,我從來沒有聽說過任何其他產品自稱「SQL服務器」。 – 2010-07-14 16:46:00

回答

6

DATEADD(MONTH, TestFrequency, TestDate)添加TestFrequency號月份到日期字段TestDate

1

我不完全相信甲骨文ADD_MONTHS是如何工作的,但MS SQL有這樣的:

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 

- 請標記爲答案,如果這有助於你更好,然後纔回答 -