我必须使用 MSSQL 服务器在两个日期之间获取一个包含月份 + 年份的表。假设给定的日期是 01/02/2012 到 05/04/2012。那么表格应该是这样的
Feb 2012
Mar 2012
April 2012
任何实现这一目标的建议都受到高度赞赏?
我必须使用 MSSQL 服务器在两个日期之间获取一个包含月份 + 年份的表。假设给定的日期是 01/02/2012 到 05/04/2012。那么表格应该是这样的
Feb 2012
Mar 2012
April 2012
任何实现这一目标的建议都受到高度赞赏?
试试这个——
询问:
DECLARE
@start DATE = '20120201'
, @end DATE = '20120405'
;WITH cte AS
(
SELECT dt = DATEADD(DAY, -(DAY(@start) - 1), @start)
UNION ALL
SELECT DATEADD(MONTH, 1, dt)
FROM cte
WHERE dt < DATEADD(DAY, -(DAY(@end) - 1), @end)
)
SELECT CONVERT(CHAR(4), dt, 100) + CONVERT(CHAR(4), dt, 120)
FROM cte
输出:
--------
Feb 2012
Mar 2012
Apr 2012