减去年份和月份

时间:2017-09-22 09:09:54

标签: sql sql-server stored-procedures

我有以下查询

SELECT LEFT(CONVERT(varchar,DATEADD(MONTH,-1, GETDATE()),112),6)

这将导致:201708(从今天的getdate()开始)

我还需要从中减去一年,所以它将会到来:201608

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

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:5)

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

varchar

当您定义.numero{ border: 1px, solid; border-bottom-color: red; } (以转换,创建或任何其他方式)时,您应始终定义长度。

答案 1 :(得分:0)

我觉得这个替代方案更容易理解。这会产生一个数字:

select year(getdate()) * 100 + month(getdate())

您可以将其转换为字符串(如果您确实需要它):

select convert(varchar(255), year(getdate()) * 100 + month(getdate()))

减去一年:

select convert(varchar(255), (year(getdate()) - 1) * 100 + month(getdate()))