在Oracle中,您可以使用ADD_Months在sql語句中實時添加月份。什麼是MS SQL版本。Oracle的ADD_MONTHS()的SQL Server版本
的Oracle實例
Select TestDate,
TestFrequency,
ADD_MONTHS(TestDate, TestFrequency) AS FutureTestDate
FROM Tests
在Oracle中,您可以使用ADD_Months在sql語句中實時添加月份。什麼是MS SQL版本。Oracle的ADD_MONTHS()的SQL Server版本
的Oracle實例
Select TestDate,
TestFrequency,
ADD_MONTHS(TestDate, TestFrequency) AS FutureTestDate
FROM Tests
其DATEADD(MONTH, TestFrequency, TestDate)
添加TestFrequency
號月份到日期字段TestDate
。
我不完全相信甲骨文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'
SQL Server的TSQL相當於Oracle's PLSQL ADD_MONTHS function是DATEADD:
SELECT TestDate,
TestFrequency,
DATEADD(mm, TestFrequency, TestDate)
FROM TEST
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
- 請標記爲答案,如果這有助於你更好,然後纔回答 -
BTW,產品名稱爲「SQL服務器「 – 2010-07-08 21:38:40
@John我意識到這一點。想要確保人們意識到我說的是Microsoft版本與MySQL等,對我來說比輸入「Microsoft SQL Server」更好。 – 2010-07-14 14:32:41
問題在於「MSSQL」很容易與「MySQL」混淆。此外,大多數尋找關於SQL Server的問題的人自然不會去搜索字符串「MSSQL」。此外,我從來沒有聽說過任何其他產品自稱「SQL服務器」。 – 2010-07-14 16:46:00