如何通过比较表中日期获取指定日期范围内的trans数据
解决方法
假设你使用的是Oracle数据库(因为表中日期格式为dd-mon-yyyy),可以通过判断交易时间段与指定查询范围的重叠关系来筛选数据。
核心逻辑
要找出与2020年7月8日至2022年8月10日存在重叠的交易,只需满足两个条件:
- 交易的开始日期不晚于查询范围的结束日期
- 交易的结束日期不早于查询范围的开始日期
具体SQL语句
SELECT tranno FROM trans WHERE start_date <= TO_DATE('2022-08-10', 'yyyy-mm-dd') AND stop_date >= TO_DATE('2020-07-08', 'yyyy-mm-dd');
结果验证
用你提供的表数据执行这条语句,会返回:
tranno 124 125 126
完全符合你的预期输出。
内容的提问来源于stack exchange,提问作者user1463065
相关产品推荐
相关产品推荐

