1

在 Oracle 中,您可以使用 ADD_Months 在 sql 语句中动态添加月份。什么是 MS SQL 版本。

甲骨文示例

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

来源:java的网站

4

4 回答 4

8

它在日期字段DATEADD(MONTH, TestFrequency, TestDate)中添加月数。TestFrequencyTestDate

于 2010-07-08T21:14:17.517 回答
2

SQL Server 的 TSQL 等效于Oracle 的 PLSQL ADD_MONTHS 函数DATEADD

SELECT TestDate, 
       TestFrequency,
       DATEADD(mm, TestFrequency, TestDate)
  FROM TEST
于 2010-07-08T21:39:20.607 回答
1

我不确定 Oracles 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'
于 2010-07-08T21:13:42.830 回答
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

--如果这比之前的答案对您有更好的帮助,请标记为答案-

于 2013-12-13T04:11:38.290 回答