【发布时间】:2021-01-13 13:05:36
【问题描述】:
我浏览了一些帖子,但要么信息太多,要么我不太明白我在寻找什么。 例如:How to get the first and last date of the current year?
在一张表中,我有过去 20 年的销售订单,我只想显示从三年前的 1 月 1 日到当前日期的订单。
AND ShipDate >= (YEAR(ShipDate)-3)
这不起作用。
AND ShipDate >= DATEADD(YEAR,-2,GETDATE())
从今天开始,正好显示 2 年前。
我希望最终能够创建能够单独显示每年最后三年的报告,但这是第一步,到目前为止我做得并不好!
【问题讨论】:
-
您使用的是哪种 DBMS 产品? “SQL”只是所有关系数据库使用的一种查询语言,而不是特定数据库产品的名称(并且您的查询使用了非标准语法)。请为您正在使用的数据库产品添加tag。 Why should I tag my DBMS
-
一些示例可以清楚地说明“三年前”的含义。我还根据问题中的代码添加了 SQL Server 标记。
-
WHERE ShipDate BETWEEN DATETIMEFROMPARTS(YEAR(CURRENT_TIMESTAMP)-3, 1, 1, 0, 0, 0, 0) AND CURRENT_TIMESTAMP工作吗?
标签: sql sql-server datetime