【发布时间】:2018-08-23 01:12:04
【问题描述】:
我有两个变量 start 和 end 包含日期值,例如2018-05-01 和 2019-02-28。我想创建一个包含其间每个月的表。结果表应如下所示。
Month Year
5 2018
6 2018
7 2018
8 2018
9 2018
10 2018
11 2018
12 2018
01 2019
02 2019
如何做到这一点?
【问题讨论】:
-
SELECT DATEADD(MONTH, n, @start) FROM nums WHERE n BETWEEN 1 AND DATEDIFF(MONTH, @start, @end),nums是一个合适的数字表(有些人更喜欢 CTE;搜索 SO 以获取有关如何制作的问题)。我可能会先走一步,用盐和胡椒调味,打开包装,得到DATETIME。
标签: sql-server tsql date datetime