目前,我在尝试查询包含多个唯一客户记录的数据集时遇到麻烦。每行都有开始日期和结束日期,最新记录标记为“最新”,结束日期标记为12/31/9999。我正在尝试编写查询,以便我可以返回属于特定日期(例如月份结束(10/31/2018))的所有记录。我在Oracle SQL Developer中的目标是在2017年10月31日当天输入所有记录/数据,因此带有*的行是Id唯一要返回的行。最终结果是使用一个更大的文件来执行此操作,并根据一年的月底日期查看每个人所在的月份的整个年份。
答案 0 :(得分:0)
您能否详细说明期望的输出?我看到的是您正在尝试在此处实现时态功能。请检查此链接是否符合您的目的 Oracle temporal 。 对于突出显示的记录,您可以在where子句中使用这样的简单条件,并根据需要格式化日期部分:
select * from emp where endd=to_date('9999/12/31','yyyy/mm/dd')
答案 1 :(得分:0)
我想您想列出截至指定日期的最新记录。为此,我只需要使用BETWEEN条件:
select * from mytable
where date'2017-31-10' between start and end