文档文档

InfluxQL 转换函数

InfluxDB 3 Core 处于公开 Alpha 阶段

InfluxDB 3 Core 处于公开 alpha 阶段,可用于测试和反馈,但不适用于生产环境。该产品和本文档均在不断完善中。我们欢迎并鼓励您提供关于 alpha 体验的反馈,并邀请您加入我们的公共频道以获取更新和分享反馈。

Alpha 阶段的预期和建议

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

缺少 InfluxQL 函数

某些 InfluxQL 函数正在重新架构中,以与 InfluxDB 3 存储引擎配合使用。如果您需要的函数不在此处,请查看 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 3 开源版本现已发布公开 Alpha 版

InfluxDB 3 开源版本现已可用于 alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个产品作为 alpha 版本的一部分。

InfluxDB 3 Core 是我们的新开源产品。它是一个用于时间序列和事件数据的最新数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询功能、读取副本、高可用性、可扩展性和细粒度安全性。

有关如何开始使用的更多信息,请查看