区间查询函数

连续满足区间函数

连续满足条件区间函数用来查询所有满足指定条件的连续区间。

按返回值可分为两类:

  1. 返回满足条件连续区间的起始时间戳和时间跨度(时间跨度为0表示此处只有起始时间这一个数据点满足条件)
  2. 返回满足条件连续区间的起始时间戳和后面连续满足条件的点的个数(个数为1表示此处只有起始时间这一个数据点满足条件)
函数名输入序列类型属性参数输出序列类型功能描述
ZERO_DURATIONINT32/ INT64/ FLOAT/ DOUBLE/ BOOLEANmin:可选,默认值0
max:可选,默认值Long.MAX_VALUE
Long返回时间序列连续为0(false)的开始时间与持续时间,持续时间t(单位ms)满足t >= min && t <= max
NON_ZERO_DURATIONINT32/ INT64/ FLOAT/ DOUBLE/ BOOLEANmin:可选,默认值0
max:可选,默认值Long.MAX_VALUE
Long返回时间序列连续不为0(false)的开始时间与持续时间,持续时间t(单位ms)满足t >= min && t <= max
ZERO_COUNTINT32/ INT64/ FLOAT/ DOUBLE/ BOOLEANmin:可选,默认值1
max:可选,默认值Long.MAX_VALUE
Long返回时间序列连续为0(false)的开始时间与其后数据点的个数,数据点个数n满足n >= min && n <= max
NON_ZERO_COUNTINT32/ INT64/ FLOAT/ DOUBLE/ BOOLEANmin:可选,默认值1
max:可选,默认值Long.MAX_VALUE
Long返回时间序列连续不为0(false)的开始时间与其后数据点的个数,数据点个数n满足n >= min && n <= max

测试数据:

  1. IoTDB> select s1,s2,s3,s4,s5 from root.sg.d2;
  2. +-----------------------------+-------------+-------------+-------------+-------------+-------------+
  3. | Time|root.sg.d2.s1|root.sg.d2.s2|root.sg.d2.s3|root.sg.d2.s4|root.sg.d2.s5|
  4. +-----------------------------+-------------+-------------+-------------+-------------+-------------+
  5. |1970-01-01T08:00:00.000+08:00| 0| 0| 0.0| 0.0| false|
  6. |1970-01-01T08:00:00.001+08:00| 1| 1| 1.0| 1.0| true|
  7. |1970-01-01T08:00:00.002+08:00| 1| 1| 1.0| 1.0| true|
  8. |1970-01-01T08:00:00.003+08:00| 0| 0| 0.0| 0.0| false|
  9. |1970-01-01T08:00:00.004+08:00| 1| 1| 1.0| 1.0| true|
  10. |1970-01-01T08:00:00.005+08:00| 0| 0| 0.0| 0.0| false|
  11. |1970-01-01T08:00:00.006+08:00| 0| 0| 0.0| 0.0| false|
  12. |1970-01-01T08:00:00.007+08:00| 1| 1| 1.0| 1.0| true|
  13. +-----------------------------+-------------+-------------+-------------+-------------+-------------+

sql:

  1. select s1, zero_count(s1), non_zero_count(s2), zero_duration(s3), non_zero_duration(s4) from root.sg.d2;

结果:

  1. +-----------------------------+-------------+-------------------------+-----------------------------+----------------------------+--------------------------------+
  2. | Time|root.sg.d2.s1|zero_count(root.sg.d2.s1)|non_zero_count(root.sg.d2.s2)|zero_duration(root.sg.d2.s3)|non_zero_duration(root.sg.d2.s4)|
  3. +-----------------------------+-------------+-------------------------+-----------------------------+----------------------------+--------------------------------+
  4. |1970-01-01T08:00:00.000+08:00| 0| 1| null| 0| null|
  5. |1970-01-01T08:00:00.001+08:00| 1| null| 2| null| 1|
  6. |1970-01-01T08:00:00.002+08:00| 1| null| null| null| null|
  7. |1970-01-01T08:00:00.003+08:00| 0| 1| null| 0| null|
  8. |1970-01-01T08:00:00.004+08:00| 1| null| 1| null| 0|
  9. |1970-01-01T08:00:00.005+08:00| 0| 2| null| 1| null|
  10. |1970-01-01T08:00:00.006+08:00| 0| null| null| null| null|
  11. |1970-01-01T08:00:00.007+08:00| 1| null| 1| null| 0|
  12. +-----------------------------+-------------+-------------------------+-----------------------------+----------------------------+--------------------------------+