在月份中添加一个数字(13),并将该日期更改为该月份的第1天

时间:2016-03-23 18:17:14

标签: sql-server

我确信这个很简单,但我很难搞清楚。我试图将13个月添加到某个日期,并且结果月份需要默认为该月的第1天。

Example:
Date: 1/25/2016
Query results: 2/1/2017

以下是我正在使用的查询:

SELECT Dateadd(month,13,getdate())

3 个答案:

答案 0 :(得分:2)

这对你有用。只需将GETDATE()替换为您的日期。

LanguageTab

答案 1 :(得分:0)

您可以通过添加1年+ 1个月并将日期部分强制为1(并处理月份= 12的特殊情况)来构建组成部分的日期,如下所示:

select DATEFROMPARTS (
    year(getdate()) + case when month(getdate()) = 12 then 2 else 1 end, 
    case when month(getdate()) = 12 then 1 else month(getdate()) + 1 end, 
    1 
)

答案 2 :(得分:0)

SQL 2012 +

SELECT DATEADD(DAY, 1, EOMONTH(GETDATE(), 12))