如何在sqlserver中的简单select语句中获取最近6个月的月份名称,月份号和年份. 月份的数量是6,并且是固定的
12 Dec 2015
11 Nov 2015
10 Oct 2015
9 Sep 2015
8 Aug 2015
7 Jul 2015
6 Jun 2015
Run Code Online (Sandbox Code Playgroud)
这应该处理年终边界
比如说,如果当前月份是2016年2月,结果应该给出2015个月.
2 Feb 2016
1 Jan 2016
12 Dec 2015
11 Nov 2015
10 Oct 2015
9 Sep 2015
8 Aug 2015
Run Code Online (Sandbox Code Playgroud)
您可以使用以下内容执行此操作:
SELECT MONTH(DATEADD(mm, -m, GETDATE())) AS m,
LEFT(DATENAME(mm, DATEADD(mm, -m, GETDATE())), 3) AS n,
YEAR(DATEADD(mm, -m, GETDATE())) AS y
FROM (VALUES (0),(1),(2),(3),(4),(5),(6)) t(m)
Run Code Online (Sandbox Code Playgroud)
输出:
m n y
12 Dec 2015
11 Nov 2015
10 Oct 2015
9 Sep 2015
8 Aug 2015
7 Jul 2015
6 Jun 2015
Run Code Online (Sandbox Code Playgroud)