【发布时间】:2020-01-28 18:13:19
【问题描述】:
我有一个包含开始日期和结束日期字段的表格。 我希望用户选择一个日期范围并返回该范围内的记录。 我可以编写一些 Java 代码来做到这一点,但是有没有办法在 Oracle 选择中做到这一点? 更糟糕的是,结束日期可能很模糊......我可能知道他今天住在那里,但我不确定下周。
例如,我有一个名称、地址和日期列表,当“名称”位于“地址”时(所有日期都是日期数据类型)
name address moved in moved out known end date?
jack 123 main st 1/1/2015 12/31/2015 Y
jill 123 main st 1/1/2016 12/31/2016 Y
jeff 123 main st 1/1/2017 12/31/2017 Y
jane 123 main st 1/1/2018 12/31/2018 N (she may still be there)
所以如果我从 2015 年 6 月 1 日到 2016 年 6 月 1 日查询,我应该得到杰克和吉尔。对于 2017 年 6 月 1 日到 17 年 7 月 1 日,我应该得到杰夫。 20 年 1 月 28 日我应该去找简,因为她可能还在。
如果您能提供任何线索,我将不胜感激。我很想在数据库端这样做。
【问题讨论】:
-
列
moved in和moved out的数据类型是什么? -
似乎一个日期范围应该有范围内的最高日期 >=moved_in,或范围内的最低日期