gpt4 book ai didi

sql - 选择从开始日期起 1-2 年的记录

转载 作者:行者123 更新时间:2023-12-02 02:40:33 25 4
gpt4 key购买 nike

我有两个表,一个有开始日期、结束日期和年龄:

Begin_Date  End_Date            Age
2015-12-14 00:00:00.0000000 NULL 1
2015-12-10 19:00:00.0000000 NULL 1
2015-12-09 19:00:00.0000000 NULL 1
2015-12-07 00:00:00.0000000 NULL 1
2015-12-06 00:00:00.0000000 NULL 1
2015-12-06 00:00:00.0000000 NULL 1
2015-12-06 00:00:00.0000000 NULL 1
2015-12-05 00:00:00.0000000 NULL 1
2015-12-05 00:00:00.0000000 NULL 1
2015-12-05 00:00:00.0000000 NULL 1
2015-12-05 00:00:00.0000000 NULL 1
2014-12-12 00:00:00.0000000 NULL 1

另一个表具有基于 uniqueID 的那些记录的关联位置。年龄列是输入表时的年龄。

我有一个将这两个表连接在一起的语句,但我正在努力编写此查询的后半部分。我希望查询从第一个表中的开始日期开始 1 年开始从第二个表中提取记录。(即我不想要 2015-2016 年的位置,但我确实想要从 2016 年开始的位置到当前日期。)现在我从第二个表中提取记录,从开始日期开始,但我不知道如何告诉它在开始日期后 1 年开始。谢谢你的帮助。

到目前为止,我对 WHERE 子句的了解是这样的:

WHERE(points.DateYearAndJulian BETWEEN xref.Begin_Date AND COALESCE (xref.End_Date, GETDATE() + 1))

最佳答案

在 SQL Server 中,您可以使用 dateadd() 将给定时间间隔添加到日期,例如:

dateadd(year, 1, Begin_Date)

如果我没听错,您可以将其合并到您的查询中,如下所示:

WHERE points.DateYearAndJulian 
BETWEEN dateadd(year, 1, xref.Begin_Date)
AND COALESCE (xref.End_Date, GETDATE() + 1)

或者,如果您希望在 age 列中添加年数,则:

WHERE points.DateYearAndJulian 
BETWEEN dateadd(year, xref.Age, xref.Begin_Date)
AND COALESCE (xref.End_Date, GETDATE() + 1))

关于sql - 选择从开始日期起 1-2 年的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59795937/

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