Documentation

InfluxQL 转换函数

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

缺失的InfluxQL函数

一些 InfluxQL 函数正在重新架构以与 InfluxDB 3 存储引擎配合使用。如果您需要的函数不在这里,请查看 InfluxQL 功能支持页面 以获取更多信息。

转换函数的显著行为

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

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


绝对值函数(ABS)()

返回字段值的绝对值。

ABS(field_expression)

参数

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

显著行为

示例

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

ABS() 应用于一个字段

对每个字段应用 ABS()

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

反余弦函数(ACOS)

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

ACOS(field_expression)

参数

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

显著行为

示例

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

ACOS() 应用到一个字段

对每个字段应用 ACOS()

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

ASIN()

返回字段值的反正弦(以弧度表示)。字段值必须在 -1 到 1 之间。

ASIN(field_expression)

参数

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

显著行为

示例

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

对一个字段应用 ASIN()

对每个字段应用 ASIN()

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

反正切函数 ATAN()

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

ATAN(field_expression)

参数

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

显著行为

示例

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

应用 ATAN() 到一个字段

对每个字段应用 ATAN()

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

ATAN2()

返回 y/x 的反正切值(以弧度表示)。

ATAN2(expression_y, expression_x)

参数

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

显著行为

示例

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

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

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

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

向上取整()

返回向上舍入到最近整数的后续值。

CEIL(field_expression)

参数

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

显著行为

示例

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

对字段应用 CEIL()

对每个字段应用 CEIL()

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

COS()

返回字段值的余弦。

COS(field_expression)

参数

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

显著行为

示例

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

在一个字段上应用 COS()

对每个字段应用 COS()

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

累积和()

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

CUMULATIVE_SUM(field_expression)

参数

  • field_expression: 表达式,用于识别一个或多个进行操作的字段。 可以是一个 field key、常量、正则表达式或通配符 (*)。 支持数字字段类型。

显著行为

示例

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

CUMULATIVE_SUM() 应用于一个字段

对每个字段应用 CUMULATIVE_SUM()

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

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

导数()

返回每个 unit 的后续 field values 之间的变化率。

SELECT DERIVATIVE(field_expression[, unit])

参数

  • field_expression: 表达式,用于识别一个或多个进行操作的字段。 可以是一个 field key、常量、正则表达式或通配符 (*)。 支持数字字段类型。
  • unit: 用于计算变化率的时间单位。 支持 duration literals默认值是 1s(每秒)

显著行为

示例

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

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

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

DERIVATIVE() 应用到每个字段

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

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

差异()

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

DIFFERENCE(field_expression)

参数

  • field_expression: 表达式,用于识别一个或多个进行操作的字段。 可以是一个 field key、常量、正则表达式或通配符 (*)。 支持数字字段类型。

显著行为

示例

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

对字段应用 DIFFERENCE()

DIFFERENCE() 应用到每个字段

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

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

已过去时间()

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

ELAPSED(field_expression[, unit ])

参数

  • field_expression: 表达式,用于识别一个或多个要操作的字段。可以是一个 field key、常量、正则表达式或通配符 (*)。支持所有字段类型。
  • 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: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (*)。 支持数值字段类型。

显著行为

示例

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

EXP() 应用于一个字段

对每个字段应用 EXP()

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

向下取整()

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

FLOOR(field_expression)

参数

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

显著行为

示例

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

FLOOR() 应用于一个字段

FLOOR() 应用到每个字段

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

自然对数函数 (LN)

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

LN(field_expression)

参数

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

显著行为

示例

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

LN() 应用于一个字段

对每个字段应用 LN()

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

日志()

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

LOG(field_expression, b)

参数

  • field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (*)。 支持数值字段类型。
  • b: 用于操作的对数基数。

显著行为

示例

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

对基数为3的字段应用 LOG()

对每个字段应用 LOG(),以5为底

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

对数2()

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

LOG2(field_expression)

参数

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

显著行为

示例

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

在字段上应用 LOG2()

对每个字段应用 LOG2()

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

LOG10()

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

LOG10(field_expression)

参数

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

显著行为

示例

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

对一个字段应用 LOG10()

对每个字段应用 LOG10()

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

移动平均值()

返回随后的 字段值 的滚动平均值。

MOVING_AVERAGE(field_expression, N)

参数

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

显著行为

示例

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

MOVING_AVERAGE() 应用于一个字段

MOVING_AVERAGE() 应用到每个字段

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

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

非负导数()

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

NON_NEGATIVE_DERIVATIVE(field_expression[, unit])

参数

  • field_expression: 表达式,用于识别一个或多个进行操作的字段。 可以是一个 field key、常量、正则表达式或通配符 (*)。 支持数字字段类型。
  • unit: 用于计算变化率的时间单位。 支持 duration literals默认值是 1s(每秒)

显著行为

示例

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

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

NON_NEGATIVE_DERIVATIVE() 应用于某个字段,以计算每5分钟的变化

NON_NEGATIVE_DERIVATIVE() 应用到每个字段

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

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

非负差异()

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

NON_NEGATIVE_DIFFERENCE(field_expression)

参数

  • field_expression: 表达式,用于识别一个或多个进行操作的字段。 可以是一个 field key、常量、正则表达式或通配符 (*)。 支持数字字段类型。

显著行为

示例

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

NON_NEGATIVE_DIFFERENCE() 应用到一个字段

NON_NEGATIVE_DIFFERENCE() 应用到每个字段

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

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

POW()

返回字段值的x次方。

POW(field_expression, x)

参数

  • field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (*)。 支持数值字段类型。
  • x: 乘方的能力。

显著行为

示例

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

POW() 应用于幂为 3 的字段

对每个字段应用 POW(),指数为5

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

舍入()

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

ROUND(field_expression)

参数

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

显著行为

示例

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

ROUND() 应用到一个字段

对每个字段应用 ROUND()

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

SIN()

返回字段值的正弦值。

SIN(field_expression)

参数

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

显著行为

示例

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

SIN() 应用到一个字段

对每个字段应用 SIN()

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

SQRT()

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

SQRT(field_expression)

参数

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

显著行为

示例

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

SQRT() 应用到一个字段

对每个字段应用 SQRT()

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

TAN()

返回字段值的正切。

TAN(field_expression)

参数

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

显著行为

示例

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

TAN() 应用到一个字段

对每个字段应用 TAN()

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



Flux的未来

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

阅读更多

InfluxDB 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

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

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

InfluxDB 云端无服务器