ts_begin_scan() 函数开始扫描时间系列中的元素。
ts_tscan * ts_begin_scan(ts_tsdesc *tsdesc, mi_integer flags, mi_datetime *begin_stamp, mi_datetime *end_stamp)
此函数在两个时间戳记之间开始扫描时间系列。
通过调用 ts_end_scan() 可关闭扫描描述符。
标志 | 值 | 含义 |
---|---|---|
TS_SCAN_HIDDEN | 512 (0x200) | 返回 ts_hide_elem() 标记的隐藏元素 |
TS_SCAN_EXACT_START | 256 (0x100) | 如果开始点早于时间系列原点,返回 NULL。(通常,扫描不在时间系列原点之前开始。) |
TS_SCAN_EXACT_END | 128 (0x80) | 返回 NULL,直到达到扫描的结束时间点,即使结束时间点超出时间系列的结尾也是如此。 |
TS_SCAN_NO_NULLS | 32 (0x20) | 影响从未被分配的元素 (TS_NULL_NOTALLOCATED) 的返回方式。通常,如果一个元素未被分配,它会作为 NULL 返回。如果设置 TS_SCAN_NO_NULLS,那么会返回改为将每个列设置为 NULL 的元素。 |
TS_SCAN_SKIP_END | 16 (0x10) | 跳过扫描范围的结束时间点上的元素。 |
TS_SCAN_SKIP_BEGIN | 8 (0x08) | 跳过扫描范围的开始时间点上的元素。 |
TS_SCAN_SKIP_HIDDEN | 4 (0x04) | 跳过隐藏的元素。 |
返回打开的扫描描述符,或者如果扫描时间都在时间系列的原点之前或如果结尾时间在开始时间之前,那么返回 NULL。
请参阅 Interp 函数示例中的 ts_interp() 函数中的 ts_begin_scan() 函数示例。