我正在尝试使用和重叠函数,就像在oracle或netezza中那样,它接受两个日期范围并检查它们是否重叠。像这样的事情: SELECT (TIMESTAMP '2011-01-28 00:00:00', TIMESTAMP '2011-02-01 23:59:59') OVERLAPS (TIMESTAMP '2011-02-01 00:00:00', TIMESTAMP '2011-02-01 23:59:59');
在impala或sparksql中,最好的方法是什么?不幸的是,在impala或sparsql中不存在重叠。我唯一能想到的是自定义项,但寻找一个工作周围。提前谢谢!
1条答案
按热度按时间rks48beu1#
我认为明确地写出逻辑比使用
OVERLAPS
. 例如,是否包括终点?逻辑是:
逻辑是。如果有两个范围,range1和range2具有开始时间和结束时间,则当第一个范围在第二个范围结束之前开始,第一个范围在第二个范围结束之后结束时,它们会重叠: