gpt4 book ai didi

sql-server - 去年相同日期的 SQL 语法

转载 作者:行者123 更新时间:2023-12-03 23:31:34 24 4
gpt4 key购买 nike

我正在使用 SQL Server 2014 并且我有以下 T-SQL 查询,它从 View 表中提取数据:

SELECT * from MyView

WHERE StayDate >= '2014-07-01'

我需要为此查询添加一个过滤器,该过滤器将应用于名为“CreatedOn”的字段(它是日期时间字段)。过滤器需要根据 SAME DATE LAST YEAR 过滤“CreatedOn”。

因此,如果今天的日期是“2015-10-26”,我的查询应该是这样的:
SELECT * from MyView

WHERE StayDate >= '2014-07-01'

AND CreatedOn <= '2014-10-26'

由于此查询将在 PowerPivot 环境中使用,因此我正在考虑以下方面:
SELECT * from MyView

WHERE StayDate >= '2014-07-01'

AND CreatedOn <= getdate()

如何修改 getdate() 部分,使其成为去年的同一日期?

最佳答案

要获取当前日期之前一年的日期,您可以使用:

DATEADD(YEAR, -1, GETDATE())

但是,由于这包括时间部分,因此可能会遗漏某些记录。你应该改用这个:
< DATEADD(DAY, 1, DATEADD(YEAR, -1, DATEDIFF(DAY, '19000101', GETDATE())))

以上将返回当前日期前一年加上一天的日期。也就是说,如果今天的日期是 '2015-10-26 ',上面会返回 '2014-10-27' .请注意,这将没有时间组件,您应该使用 <为了比较。

More common date routines.

关于sql-server - 去年相同日期的 SQL 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33338735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com