文档文档

SQL 条件函数

InfluxDB 3 Core SQL 实现支持以下条件函数,用于有条件地处理 null 值。

coalesce

返回其参数中第一个不是 null 的值。如果所有参数都为 null,则返回 null。此函数通常用于为 null 值替换默认值。

coalesce(expression1[, ..., expression_n])
参数
  • expression1, expression_n:如果先前的表达式为 null,则使用该表达式。可以是常量、列或函数,以及任何算术运算符的组合。根据需要传入任意数量的表达式参数。

查看 coalesce 查询示例

greatest

返回表达式列表中最大的值。如果所有表达式都为 null,则返回 null

greatest(expression1[, ..., expression_n])
参数
  • expression1, expression_n:用于比较并返回最大值的表达式。可以是常量、列或函数,以及任何算术运算符的组合。根据需要传入任意数量的表达式参数。

查看 greatest 查询示例

ifnull

nvl 的别名。

least

返回表达式列表中最小的值。如果所有表达式都为 null,则返回 null

least(expression1[, ..., expression_n])
参数
  • expression1, expression_n:用于比较并返回最小值的表达式。可以是常量、列或函数,以及任何算术运算符的组合。根据需要传入任意数量的表达式参数。

查看 least 查询示例

nullif

如果 expression1 等于 expression2,则返回 null;否则返回 expression1。这可用于执行 coalesce 的反向操作。

nullif(expression1, expression2)
参数
  • expression1:要比较并返回(如果等于 expression2)的表达式。可以是常量、列或函数,以及任何算术运算符的组合。
  • expression2:要与 expression1 比较的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 nullif 查询示例

nvl

如果 expression1null,则返回 expression2;否则返回 expression1

nvl(expression1, expression2)
参数
  • expression1:如果不为 null,则返回此表达式。可以是常量、列或函数,以及任何算术运算符的组合。
  • expression2:如果 expression1null,则返回此表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 nvl 查询示例

nvl2

如果 expression1 **不** 为 null,则返回 expression2;否则返回 expression3

nvl2(expression1, expression2, expression3)
参数
  • expression1:要测试是否为 null 的第一个表达式。可以是常量、列或函数,以及任何运算符的组合。
  • expression2:如果 expression1 不为 null,则返回的第二个表达式。可以是常量、列或函数,以及任何运算符的组合。
  • expression3:如果 expression1null,则返回的表达式。可以是常量、列或函数,以及任何运算符的组合。

查看 nvl2 查询示例


此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2