减去年份和月份

Imp*_*ert 1 sql sql-server stored-procedures

我有以下查询

SELECT LEFT(CONVERT(varchar,DATEADD(MONTH,-1, GETDATE()),112),6)
Run Code Online (Sandbox Code Playgroud)

这将导致:201708(截至今日的getdate())

我还需要减去一年,因此它将会到来:201608

我尝试添加另一个DATEADD函数,但我无法让它工作.

任何人都能指出我正确的方向吗?

Hon*_*ger 5

你几乎就在那里,我认为你需要:

SELECT LEFT(CONVERT(varchar(6),DATEADD(YEAR, -1, DATEADD(MONTH,-1, GETDATE())),112),6)
Run Code Online (Sandbox Code Playgroud)

当您定义varchar(以转换,创建或任何其他方式)时,您应始终定义长度.