文档文档

InfluxQL转换函数

InfluxQL转换函数修改并返回查询数据中每一行的值。

缺少的InfluxQL函数

一些InfluxQL函数正在重构以与InfluxDB 3.0存储引擎一起使用。如果您需要的函数不在列表中,请检查InfluxQL功能支持页面以获取更多信息。

转换函数的显著行为

必须在使用时间分组时使用聚合或选择器函数

大多数转换函数支持按标签分组的GROUP BY子句,但不直接支持按时间分组的GROUP BY子句。要使用带有GROUP BY time()子句的转换函数,将聚合选择器函数应用于field_expression参数。转换操作在聚合或选择器操作的结果上执行。


ABS()

返回字段值的绝对值。

ABS(field_expression)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

对一个字段应用ABS()

对每个字段应用ABS()

对时间窗口应用ABS()(按时间分组)

ACOS()

返回字段值的反余弦(以弧度为单位)。字段值必须在-1和1之间。

ACOS(field_expression)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

对一个字段应用ACOS()

对每个字段应用 ACOS()

对时间窗口应用 ACOS()(按时间分组)

ASIN()

返回字段值的反正弦(以弧度为单位)。字段值必须在 -1 和 1 之间。

ASIN(field_expression)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

对一个字段应用 ASIN()

对每个字段应用 ASIN()

对时间窗口应用 ASIN()(按时间分组)

ATAN()

返回字段值的反正切(以弧度为单位)。

ATAN(field_expression)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

对一个字段应用 ATAN()

对每个字段应用 ATAN()

对时间窗口应用 ATAN()(按时间分组)

ATAN2()

返回 y/x 的反正切(以弧度为单位)。

ATAN2(expression_y, expression_x)

参数

  • expression_y:用于标识 y 数值或要操作的 一个或多个字段的表达式。可以是数字字面量、字段键、常量或通配符(*)。支持数值字段类型。
  • expression_x:用于标识 x 数值或要操作的 一个或多个字段的表达式。可以是数字字面量、字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

对另一个字段除以一个字段应用 ATAN2()

对每个字段除以一个数值应用 ATAN2()

对时间窗口应用 ATAN2()(按时间分组)

CEIL()

返回向上取整到最接近整数的后续值。

CEIL(field_expression)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

对一个字段应用 CEIL()

对每个字段应用 CEIL()

对时间窗口应用 CEIL()(按时间分组)

COS()

返回字段值的余弦。

COS(field_expression)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

对一个字段应用 COS()

对每个字段应用 COS()

对时间窗口应用 COS()(按时间分组)

CUMULATIVE_SUM()

返回后续 字段值 的累积总和。

CUMULATIVE_SUM(field_expression)

参数

  • field_expression:用于标识要操作的一个或多个字段的表达式。可以是 字段键、常量、正则表达式或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

对一个字段应用 CUMULATIVE_SUM()

对每个字段应用 CUMULATIVE_SUM()

对匹配正则表达式的字段键应用 CUMULATIVE_SUM()

对时间窗口应用 CUMULATIVE_SUM()(按时间分组)

DERIVATIVE()

返回后续 字段值 之间每 unit 的变化率。

SELECT DERIVATIVE(field_expression[, unit])

参数

  • field_expression:用于标识要操作的一个或多个字段的表达式。可以是 字段键、常量、正则表达式或通配符(*)。支持数值字段类型。
  • unit:用于计算变化率的单位时间。支持 持续时间字面量。默认为 1s(每秒)。

显著行为

示例

以下示例使用随机数字样本数据

对一个字段应用 DERIVATIVE() 以计算每秒的变化

对一个字段应用 DERIVATIVE() 以计算每5分钟的变化

对每个字段应用 DERIVATIVE()

DERIVATIVE() 应用到匹配正则表达式的字段键

DERIVATIVE() 应用到按时间分组的时窗

DIFFERENCE()

返回后续 字段值 之间的减法结果。

DIFFERENCE(field_expression)

参数

  • field_expression:用于标识要操作的一个或多个字段的表达式。可以是 字段键、常量、正则表达式或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

DIFFERENCE() 应用到一个字段

DIFFERENCE() 应用到每个字段

DIFFERENCE() 应用到匹配正则表达式的字段键

DIFFERENCE() 应用到按时间分组的时窗

ELAPSED()

返回指定 unit 时间单位内后续 字段值的时间戳 之间的差异。

ELAPSED(field_expression[, unit ])

参数

  • field_expression:识别一个或多个操作字段的表达式。可以是 字段键、常量、正则表达式或通配符(*)。支持所有字段类型。
  • unit:返回经过时间的单位。支持 持续时间字面量。默认为 1ns(纳秒)。

显著行为

  • 如果 unit 大于点之间的经过时间,则 ELAPSED() 返回 0
  • ELAPSED() 支持带有 GROUP BY time() 子句的查询,但查询结果并不很有用。带有嵌套函数和 GROUP BY time() 子句的 ELAPSED() 查询返回 GROUP BY time() 子句中指定的间隔。

示例

以下示例使用随机数字样本数据

ELAPSED() 应用到一个字段并返回纳秒内的经过时间

ELAPSED() 应用到一个字段并返回秒内的经过时间

ELAPSED() 应用到每个字段

ELAPSED() 应用到匹配正则表达式的字段键

EXP()

返回字段值的指数。

EXP(field_expression)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

EXP() 应用到一个字段

EXP() 应用到每个字段

EXP() 应用到按时间分组的时窗

FLOOR()

返回向下取整到最接近整数的后续值。

FLOOR(field_expression)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

FLOOR() 应用到一个字段

FLOOR() 应用到每个字段

FLOOR() 应用到按时间分组的时窗

LN()

返回字段值的自然对数。字段值必须大于或等于 0。

LN(field_expression)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

LN() 应用到一个字段

LN() 应用到每个字段

LN() 应用到按时间分组的时窗

LOG()

返回以 b 为底的字段值的对数。字段值必须大于或等于 0。

LOG(field_expression, b)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。
  • b:在操作中使用的对数底。

显著行为

示例

以下示例使用随机数字样本数据

LOG() 应用到一个以 3 为底的字段

LOG() 应用到一个以 5 为底的字段

LOG() 应用到按时间分组的时窗

LOG2()

返回字段值以 2 为底的对数。字段值必须大于或等于 0。

LOG2(field_expression)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

LOG2() 应用到一个字段

LOG2() 应用到每个字段

LOG2() 应用到按时间分组的时窗

LOG10()

返回字段值以10为底的对数。字段值必须大于或等于0。

LOG10(field_expression)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

LOG10() 应用到字段

LOG10() 应用到每个字段

LOG10() 应用到时间窗口(按时间分组)

MOVING_AVERAGE()

返回后续 字段值 窗口内的滚动平均值。

MOVING_AVERAGE(field_expression, N)

参数

  • field_expression:识别一个或多个操作字段的表达式。可以是 字段键、常量、正则表达式或通配符(*)。支持所有字段类型。
  • N:在计算移动平均值时使用的字段值数量。

显著行为

示例

以下示例使用随机数字样本数据

MOVING_AVERAGE() 应用到字段

MOVING_AVERAGE() 应用到每个字段

MOVING_AVERAGE() 应用到匹配正则表达式的字段键

MOVING_AVERAGE() 应用到时间窗口(按时间分组)

NON_NEGATIVE_DERIVATIVE()

仅返回后续 字段值 之间的非负变化率。负变化率返回 null

NON_NEGATIVE_DERIVATIVE(field_expression[, unit])

参数

  • field_expression:用于标识要操作的一个或多个字段的表达式。可以是 字段键、常量、正则表达式或通配符(*)。支持数值字段类型。
  • unit:用于计算变化率的单位时间。支持 持续时间字面量。默认为 1s(每秒)。

显著行为

示例

以下示例使用随机数字样本数据

NON_NEGATIVE_DERIVATIVE() 应用到字段以计算每秒变化

NON_NEGATIVE_DERIVATIVE() 应用到字段以计算每5分钟变化

NON_NEGATIVE_DERIVATIVE() 应用到每个字段

NON_NEGATIVE_DERIVATIVE() 应用到匹配正则表达式的字段键

NON_NEGATIVE_DERIVATIVE() 应用到时间窗口(按时间分组)

NON_NEGATIVE_DIFFERENCE()

仅返回后续 字段值 之间的非负减法结果。负差值返回 null

NON_NEGATIVE_DIFFERENCE(field_expression)

参数

  • field_expression:用于标识要操作的一个或多个字段的表达式。可以是 字段键、常量、正则表达式或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

NON_NEGATIVE_DIFFERENCE() 应用到字段

NON_NEGATIVE_DIFFERENCE() 应用到每个字段

NON_NEGATIVE_DIFFERENCE() 应用到匹配正则表达式的字段键

NON_NEGATIVE_DIFFERENCE() 应用到时间窗口(按时间分组)

POW()

返回字段值对 x 的幂。

POW(field_expression, x)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。
  • x:要提升的幂。

显著行为

示例

以下示例使用随机数字样本数据

POW() 应用到以3为幂的字段

POW() 应用到以5为幂的每个字段

POW() 应用到时间窗口(按时间分组)

ROUND()

返回四舍五入到最接近整数的字段值。

ROUND(field_expression)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

ROUND() 应用到字段

ROUND() 应用到每个字段

ROUND() 应用到时间窗口(按时间分组)

SIN()

返回字段值的正弦值。

SIN(field_expression)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

SIN() 应用到字段

SIN() 应用到每个字段

SIN() 应用于时间窗口(按时间分组)

SQRT()

返回字段值的平方根。字段值必须大于或等于0。负字段值返回null。

SQRT(field_expression)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

SQRT() 应用于字段

SQRT() 应用于每个字段

SQRT() 应用于时间窗口(按时间分组)

TAN()

返回字段值的正切值。

TAN(field_expression)

参数

  • field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(*)。支持数值字段类型。

显著行为

示例

以下示例使用随机数字样本数据

TAN() 应用于字段

TAN() 应用于每个字段

TAN() 应用于时间窗口(按时间分组)


这个页面有帮助吗?

感谢您的反馈!


Flux的未来

Flux将进入维护模式。您可以继续像现在一样使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB v3增强功能和InfluxDB Clustered现在已普遍可用

新功能包括更快的查询性能和管理工具,推动了InfluxDB v3产品线的进步。InfluxDB Clustered现在已普遍可用。

InfluxDB v3性能和功能

InfluxDB v3产品线在查询性能方面取得了重大改进,并提供了新的管理工具。这些改进包括一个操作仪表板来监控您的InfluxDB集群的健康状况,InfluxDB Cloud Dedicated中的单一登录(SSO)支持以及用于令牌和数据库的新管理API。

了解新的v3增强功能


InfluxDB Clustered普遍可用

InfluxDB Clustered现在已普遍可用,为您在自管理的堆栈中提供了InfluxDB v3的强大功能。

与我们谈论InfluxDB Clustered