[英]Calculate percentage overlap for two ranges vertica sql
您可以使用greatest()
和least()
:
select least(least(hours_to_b, hours_to_a) - greatest(hours_from_b, hours_from_a)), 0) /
(greatest(hours_to_b, hours_to_a) - least(hours_from_b, hours_from_a)) as overlap_ratio
编辑:
哦,您要在“ b”中与“ a”重叠,而不是两者的整体重叠。 这是相似的:
select (least(least(hours_to_b, hours_to_a) - greatest(hours_from_b, hours_from_a)), 0) /
(hours_to_b - hours_from_b)
) as overlap_ratio
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.