Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


OVERLAPS

📄字数 927
👁️阅读量 加载中...

功能描述

判断两个时间区间是否存在重叠(即是否有交集)。

语法格式

sql
OVERLAPS(expr1, expr2, expr3, expr4)
(expr1, expr2) OVERLAPS (expr3, expr4)

输入参数

  • expr1DATETIMEDATETIME WITH TIME ZONE 类型或者能隐式转换为 DATETIMEDATETIME WITH TIME ZONE 类型的其他类型的值或者表达式。
  • expr2DATETIMEDATETIME WITH TIME ZONEINTERVAL DAY TO SECONDINTERVAL YEAR TO MONTH 类型或者能隐式转换为 DATETIMEDATETIME WITH TIME ZONEINTERVAL DAY TO SECONDINTERVAL YEAR TO MONTH 类型的其他类型的值或者表达式。
  • expr3DATETIMEDATETIME WITH TIME ZONE 类型或者能隐式转换为 DATETIMEDATETIME WITH TIME ZONE 类型的其他类型的值或者表达式。
  • expr4DATETIMEDATETIME WITH TIME ZONEINTERVAL DAY TO SECONDINTERVAL YEAR TO MONTH 类型或者能隐式转换为 DATETIMEDATETIME WITH TIME ZONEINTERVAL DAY TO SECONDINTERVAL YEAR TO MONTH 类型的其他类型的值或者表达式。

注意

expr2expr4 使用的数据类型必须一致,当类型为 INTERVAL 间隔类型时,表示的时间区间终点为:expr1 + expr2expr3 + expr4

输出结果

BOOLEAN 类型,当任意输入参数为 NULL 时,输出结果为 NULL

示例

sql
-- 判断时间区间是否重叠
SQL> SELECT OVERLAPS(SYSDATE+1, CAST('1-1' AS INTERVAL YEAR TO MONTH), SYSDATE+200, CAST('1-1' AS INTERVAL YEAR TO MONTH)) FROM dual;

+-------+
| EXPR1 |
+-------+
| T     |
+-------+

SQL> SELECT ('2025-05-05 15:32:45', '2025-05-05 15:32:45') OVERLAPS ('2025-05-05 15:32:45', '2025-05-05 15:32:45');

+-------+
| EXPR1 |
+-------+
| T     |
+-------+