Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL中获取上个月的年份_Sql_Sql Server - Fatal编程技术网

在SQL中获取上个月的年份

在SQL中获取上个月的年份,sql,sql-server,Sql,Sql Server,我想知道上个月的年份 例如,2017年7月,我想要2017年的结果。但2017年1月我想要2016年的结果,2017年2月我想要2017年的结果。使用SQL Server。SQL Server select datepart(year, dateadd(month, -1, getdate())) 被否决。这实际上是我的答案的复制品,我不同意。使用不同的方法得到的结果是相同的。有多种方法可以做到这一点,但这里列出的两种方法是最简单的IMHO,任何其他方法都会比需要的更复杂。为了清晰起见,我更喜

我想知道上个月的年份

例如,2017年7月,我想要2017年的结果。但2017年1月我想要2016年的结果,2017年2月我想要2017年的结果。使用SQL Server。

SQL Server

select datepart(year, dateadd(month, -1, getdate()))

被否决。这实际上是我的答案的复制品,我不同意。使用不同的方法得到的结果是相同的。有多种方法可以做到这一点,但这里列出的两种方法是最简单的IMHO,任何其他方法都会比需要的更复杂。为了清晰起见,我更喜欢datepart,但这是我的偏好。@DanBracuk我很忙,在没有刷新和知道有人已经回答了我的答案的情况下发布了我的答案。很抱歉,我不知道这是一场谁先回复的竞赛。堆栈溢出规则之一是不要抄袭,就像Guru0008对您的答案所做的那样。你是否剽窃了我的答案是一个意见问题,因为它们略有不同。我的意见是你的答案和我的太相似了,所以我投了反对票。而且,每当我投票失败时,我会说为什么,因为我认为不加解释就投票失败是很不礼貌和懦弱的。
select year(dateadd(month,-1,GETDATE()));