All thing of the world!

Postgresql OVERLAPS 설명 : 포스트그레스큐엘 연산자 본문

IT/Postgresql DBMS

Postgresql OVERLAPS 설명 : 포스트그레스큐엘 연산자

WorldSeeker 2021. 4. 20. 14:39

1. 함수의 목적

   

    Postgresql OVERLAPS 연산자(operator)는 주어진 두 개의 날짜 구간 사이에 중첩구간이 있으면 true, 없으면 false로 결과를 표시한다. 두 날짜간의 중첩구간이 존재하는지 조사할 경우 매우 유용하다.


 

2. 샘플을 통한 개념 퀵뷰

 

    SELECT (DATE '2001-02-16', DATE '2001-12-21') OVERLAPS

              (DATE '2001-10-30', DATE '2002-10-30');

 

    overlaps

    ----------------------

    true

 

3. 사용방법

 

    (start1, end1) OVERLAPS (start2, end2)

    (start1, length1) OVERLAPS (start2, length2)

    

[start1]

첫번째 날짜 구간의 시작점을 입력한다.

 

[end1]

첫번째 날짜 구간의 종료점을 입력한다.

 

[start2]

두번째 날짜 구간의 시작점을 입력한다.

 

[end2]

두번째 날짜 구간의 종료점을 입력한다.

 

[length1]

첫번째 구간의 start1부터 interval을 입력한다.

 

[length2]

두번째 구간의 start2부터 interval을 입력한다.

 

 

5. 다양한 샘플 표현

 

1) interval과 from~to 날짜 지정

 

    SELECT (DATE '2001-02-16', INTERVAL '100 days') OVERLAPS

              (DATE '2001-10-30', DATE '2002-10-30');

 

    overlaps

    ----------------------

    false

 

2) tab1, tab2 key를 join한 이력 중첩구간  조회

 

    select *
    from (select a.key, a.fr, a.to, b.fr, b.to, (a.fr, a.to) overlaps (b.fr, b.to) "OL"
            from tab a inner join tab b on a.key = b.key
            ) tab
    where OL='true';

    

 

 Posgresql 내장함수 모음 : atotw.tistory.com/category/IT/Postgresql%20DBMS

 

Comments