0

我想要如下输出:

在此处输入图像描述

目前我正在使用一张桌子。但我不想将它与任何表一起使用(系统表除外)。是否可以?

查询(使用表):

DECLARE @End_date DATETIME
SET @End_Date = DATEADD(month, -6, GETDATE())

SELECT DISTINCT MONTH(S.ACDATE) AS Mon,CONVERT(CHAR(4),S.ACDATE) AS Month_Name,
    (YEAR(S.ACDATE) % 100) AS Year_No
    FROM SALES as S
    WHERE S.ACDATE < DATEADD(month,MONTH(getdate()),
          DATEADD(year,YEAR(getdate())-1900,0))
    AND S.ACDATE >= DATEADD(month,MONTH(@End_Date)-1,
        DATEADD(year,YEAR(@End_Date)-1900,0))
4

1 回答 1

2
DECLARE @dt DATE = CONVERT(DATE, '05/03/2013', 101)

SELECT MONTH (dt) AS Mon, LEFT (DATENAME (mm, dt), 3) AS Month_Name, YEAR (dt) % 1000 AS Year_No
FROM (
    SELECT DATEADD (mm, -diff, @dt) dt
    FROM (VALUES(1),(2),(3),(4),(5),(6))t(diff)
) t

结果集是:

Mon         Month_Name Year_No
----------- ---------- -----------
4           Apr        13
3           Mar        13
2           Feb        13
1           Jan        13
12          Dec        12
11          Nov        12
于 2013-10-10T08:59:05.477 回答