ClipCount 函数

ClipCount 函数是 Clip 的变体,其中第一个整数参数将解释为要剪切的条目计数。如果计数是正的,ClipCount 将从时间戳记或之后的第一个元素开始,并剪切后面的计数条目。如果计数是负的,ClipCount 将从时间戳记或之前的第一个元素开始,并剪切前面的计数条目。

语法

ClipCount(ts          TimeSeries, 
         begin_stamp datetime year to fraction(5), 
         num_stamps  integer, 
         flags       integer default 0) 
returns TimeSeries;
ts
要剪切的时间系列。
begin_stamp
范围的起始点。可为 NULL
num_stamps
要包括在生成的时间系列中的元素数。
flags(可选)
标志用于指定如何确定生成的时间系列的原点和是否将隐藏的元素复制到生成的时间系列。请参阅 flags 参数值

描述

允许起始点早于时间系列原点。包含此类时间戳记的负计数将生成没有元素的时间系列。不允许起始点早于日历原点。

如果日历在请求的时间戳记正好没有条目,那么 ClipCount 使用紧跟在给定时间戳记后面的日历第一个有效时间戳记作为范围的起始点。如果起始点为 NULL,那么将使用时间系列的原点。

flags 参数值

flags 参数是可选参数,工作方式与 Clip 函数的 flags 参数相同。请参阅 flags 参数值以获取描述。

返回结果

仅包含请求范围中的数据的新时间系列。新系列与原始系列具有相同的日历,但原点和条目数可能不同。

示例

以下示例针对标识为 600 的库存剪切在 2011 年 3 月 14 日上午 9:30 或之后的前 30 个元素,并返回整个生成的时间系列:
select ClipCount(activity_data, 
     '2011-01-01 09:30:00.00000', 30)
    from activity_stocks
    where stock_id = 600;
以下示例针对标识为 600 的库存剪切在 2011 年 8 月 22 日午夜 12:00 或之前的前 60 个元素:
select ClipCount(activity_data, 
       '2011-08-22 00:00:00.00000', -60)
   from activity_stocks
   where stock_id = 600;