OVERLAPS
计算两个时间段,并在其重叠时返回 true,否则返回 false。
行为类型
语法
( start, end ) OVERLAPS ( start, end )
( start, interval) OVERLAPS ( start, interval )
参数
- start
DATE
、TIME
或TIMESTAMP
/TIMESTAMPTZ
值,用于指定时间段的开始日期。- end
DATE
、TIME
或TIMESTAMP
/TIMESTAMPTZ
值,用于指定时间段的结束日期。- interval
- 指定时间段长度的值。
示例
求值日期范围 2016 年 2 月 16 日 - 12 月 21 日与 2008 年 10 月 10 日 - 2016 年 10 月 3 日是否重叠:
=> SELECT (DATE '2016-02-16', DATE '2016-12-21') OVERLAPS (DATE '2008-10-30', DATE '2016-10-30');
overlaps
----------
t
(1 row)
求值日期范围 2016 年 2 月 16 日 - 12 月 21 日与 2008 年 1 月 1 日 - 10 月 30 日 - 2016 年 10 月 3 日是否重叠:
=> SELECT (DATE '2016-02-16', DATE '2016-12-21') OVERLAPS (DATE '2008-01-30', DATE '2008-10-30');
overlaps
----------
f
(1 row)
求值日期范围 2016 年 2 月 2 日 + 1 周与 2016 年 10 月 16 日 - 8 个月的日期范围是否重叠:
=> SELECT (DATE '2016-02-16', INTERVAL '1 week') OVERLAPS (DATE '2016-10-16', INTERVAL '-8 months');
overlaps
----------
t
(1 row)