我必须使用MSSQL服务器在两个日期之间获得一个月份+年份的表.可以说给定的日期是2012年2月1日至2012年4月5日.那个表应该是这样的
Feb 2012
Mar 2012
April 2012
Run Code Online (Sandbox Code Playgroud)
任何有关实现这一目标的建议都非常感谢
Dev*_*art 11
试试这个 -
查询:
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
Run Code Online (Sandbox Code Playgroud)
输出:
--------
Feb 2012
Mar 2012
Apr 2012
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8328 次 |
| 最近记录: |