gpt4 book ai didi

sql - 选择日期范围在另一个日期范围内的行

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

我有一个帐户表,其中包含开始日期和结束日期的列。我希望用户提供开始日期和结束日期,并且必须返回帐户在用户指定的开始日期和结束日期之间的任何时间处于事件状态的所有数据。

问题是,如果帐户当前仍处于事件状态,则结束日期可能为空。

如果帐户在用户指定的范围内的任何时间打开,则必须选择该帐户,这意味着甚至必须包括在该范围内打开或关闭的帐户。

这是我想要的图片。

alt text

黄色部分是用户输入的日期范围。绿色部分是我想要选择的。浅红色部分是我不想选择的部分。 G、H 和 I 末尾的箭头表示这些帐户没有结束日期。所有其他没有箭头的都有结束日期。

最佳答案

因此,这相当于检查帐户开始日期是否早于用户提供的结束日期,并且帐户结束日期是否晚于用户提供的开始日期(或者为空,在这种情况下,我们甚至不需要检查它):

where
account.start_date < @user_end_date and
(account.end_date >= @user_start_date or account.end_date is null)

关于sql - 选择日期范围在另一个日期范围内的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4658235/

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