1

My question is the same as Algorithm to detect overlapping periods.
But in my case, a period can be unbouded (No End Date, ie. NULL).
I can't find an elegant way do to that.

Community
  • 1
  • 1
Charles Follet
  • 827
  • 1
  • 10
  • 28

1 Answers1

2

For unbounded end dates, you could also do something like:

a.end = a.end == NULL  ? MAXDATE : a.end;
b.end = b.end == NULL  ? MAXDATE : b.end;
bool overlap = a.start < b.end && b.start < a.end;

Or this could work:

bool overlap = (a.start < b.end || b.end == NULL) && (b.start < a.end || a.end == NULL);