年份 | 月 | 四分之一 |
---|---|---|
2012 | 1 | 1 |
2012 | 2 | 1 |
2012 | 3 | 1 |
2012 | 4 | 2 |
2012 | 5 | 2 |
2012 | 6 | 2 |
2012 | 7 | 3 |
2012 | 8 | 3 |
2012 | 9 | 3 |
2012 | 10 | 4 |
2012 | 11 | 4 |
2012 | 12 | 4 |
2013 | 1 | 5 |
2013 | 2 | 5 |
2013 | 3 | 5 |
2013 | 4 | 6 |
2013 | 5 | 6 |
2013 | 6 | 6 |
2013 | 7 | 7 |
2013 | 8 | 7 |
2013 | 9 | 7 |
2013 | 10 | 8 |
2013 | 11 | 8 |
2013 | 12 | 8 |
说明: 每 12 行后,年份列递增 1。 月份列一直显示到 12,然后重置。 每 3 行后四分之一列增加 1,但一年后不会重置
尝试使用计数表来获取行号,并使用模 (%) 和整数除法来导出数字
with cteTally as (
SELECT TOP 100 ROW_NUMBER () OVER (ORDER BY NAME) -1 as MonthNumber
FROM sys.objects
)
SELECT
CEILING(MonthNumber / 12) + 2012 as CalYear
, (MonthNumber % 12) + 1 as CalMonth
, 1 + (MonthNumber / 3) as CalQuarter
FROM cteTally as T
加州年 | 加州月 | 加州季度 |
---|---|---|
2012 | 1 | 1 |
2012 | 2 | 1 |
2012 | 3 | 1 |
2012 | 4 | 2 |
2012 | 5 | 2 |
2012 | 6 | 2 |
2012 | 7 | 3 |
2012 | 8 | 3 |
2012 | 9 | 3 |
2012 | 10 | 4 |
2012 | 11 | 4 |
2012 | 12 | 4 |
2013 | 1 | 5 |
2013 | 2 | 5 |
2013 | 3 | 5 |
2013 | 4 | 6 |
2013 | 5 | 6 |
2013 | 6 | 6 |
2013 | 7 | 7 |
2013 | 8 | 7 |
2013 | 9 | 7 |
2013 | 10 | 8 |
2013 | 11 | 8 |
2013 | 12 | 8 |