ts_next_valid() 函数返回给定时间戳记之后的最近条目。
语法
ts_tselem
ts_next_valid(ts_tsdesc *tsdesc,
mi_datetime *tstamp,
mi_integer *STATUS,
mi_integer *off)
- tsdesc
- ts_open() 返回的时间系列描述符。
- tstamp
- 指向返回的元素之前的时间戳记。
- STATUS
- 返回时指向填充的 mi_integer 值。请参阅 ts_hide_elem() 的讨论(ts_hide_elem() 函数),以获取有关 STATUS 的描述。
- off
- 对于规则时间系列,off 在返回时指向填充的 mi_integer 值以及所返回元素的偏移量。对于不规则的时间系列,off 设置为 -1。可为 NULL。
描述
对于规则的时间系列,此函数返回在给定时间戳记之后的日历最早有效时间点的元素。对于不规则的时间系列,将返回给定时间戳记之后的最早元素。
提示: ts_next_valid() 函数的效率不如 ts_next(),所以最好使用 ts_begin_scan() 和 ts_next(),而不是使用 ts_first_elem() 和 ts_next_valid() 来浏览时间系列。
等效 SQL 函数是 GetNextValid。
返回结果
给定时间戳记之后的元素。如果不存在有效元素,或者时间系列是规则的且下一个有效时间间隔包含空元素,将返回 NULL。如果时间系列不规则,那么 off 指向的值将是 -1;如果时间系列是规则的,那么 off 指向的值将是元素的偏移量。返回的元素不得由调用者释放。调用两次访存后将覆盖该值。
有关 STATUS 的说明,请参阅 ts_hide_elem() 函数。