【发布时间】:2017-08-08 11:17:31
【问题描述】:
我有一个名为 Accounts 的表,其中有一个名为 TransactionDate 的日期列。我需要获取 TransactionDate 介于月、年之间的所有记录。
例如,TransactionDate 介于 2016 年 6 月和 2017 年 8 月之间的所有记录。
我的查询字符串如下所示:
SELECT Amount
FROM Accounts
WHERE (MONTH(TransactionDate) BETWEEN 6 and 8)
AND (YEAR(TransactionDate) BETWEEN 2016 and 2017)
ORDER BY TransactionDate ASC
但是它只给了我 2016 年 6 月、7 月和 2017 年 8 月的记录。它跳过了 2017 年 1 月、2016 年 11 月 Spet 的记录。
我附上所有记录的TransactionDate列的截图(共有31条)
这是返回结果的截图
我的查询有什么问题?此外,此查询将是动态的,即用户将从表单中选择月份和年份,并将结果返回给他们。
谢谢。
【问题讨论】:
-
该输出基于您显示的输入和您运行的查询看起来正确