OrOp 函数

OrOp 函数返回两个日历的并集。

语法

OrOp (cal1 Calendar, 
      cal2 Calendar) 
returns Calendar;
cal1
要组合的第一个日历。
cal2
要组合的第二个日历。

描述

此函数返回每个时间间隔都处于启用状态且在两个日历的任何一个中已启用的日历;其余时间间隔处于禁用状态。生成的日历采用两个开始日期以及两个模式开始日期中较早的一个。

如果两个日历的时间间隔单位大小不同,那么生成的日历将具有两个时间间隔单位中较小的一个。

返回结果

作为两个其他日历使用 OR 运算符组合的结果的日历。

示例

以下 OrOp 函数返回具有不同开始日期的每小时日历和每天日历的并集:
select c_calendar from CalendarTable
            where c_name = 'hourcal';

c_calendar      startdate(2011-01-01 00:00:00), pattstart(2011-
          01-02 00:00:00), pattern({32 off,9 on,15 off,9
          on,15 off,9 on,15 off,9 on,15 off, 9 on,31
          off},hour)

select c_calendar from CalendarTable
            where c_name = 'daycal';

c_calendar   startdate(2011-04-01 00:00:00), pattstart(2011-
          04-03 00:00:00), pattern({1 off,5 on,1 off},day) 

select OrOp(c1.c_calendar, c2.c_calendar)
            from CalendarTable c1, CalendarTable c2
            where c1.c_name = 'daycal' and c2.c_name = 'hourcal';
(expression)
startdate(2011-01-01 00:00:00), pattstart(2011-01-02
00:00:00), pattern({24 off,120 on,24 off},hour)