【发布时间】:2021-07-01 17:57:48
【问题描述】:
我必须准备一份需要选择数据的报告:
当年 - 1 在当年 - 10 和当月 - 19 之间
所以我创建了参数:
DECLARE @EvaluationYearOld int = YEAR(GETDATE()) - 10
DECLARE @EvaluationYearNew int = YEAR(GETDATE()) - 1
DECLARE @EvaluationMonthCurrent int = Month(GETDATE()) - 19
SELECT * FROM tbl
WHERE
year(raportdate) > @EvaluationYearOld
AND year(raportdate) < @EvaluationYearNew
AND month(raportdate) < @EvaluationMonthCurrent
效果不好。我认为月份有问题。
【问题讨论】:
-
EvaluationMonthCurrent 将介于 -18 和 -7 之间...月(报告日期)
-
不清楚您想要的具体年份和月份。你每年只想要1个月吗?还是要从当前月份返回到 10 年前的年初
-
您的月份条件将跳过所涉及的每一年的月份...
-
@Charlieface 我想要当前年份 (2021) - 1 = 2020 和当前年份 (2021) - 10 = 2011 之间的日期范围。所选数据应介于 2020 年和 2011 年(今年)之间在职的。问题是关于添加当前月份 - 19
-
@ninjaloot777 。 . .你的评论有帮助,但只有一点点。编辑问题并明确显示您想要的特定参数值的数据范围。
标签: sql sql-server tsql