文档文档

SQL 数据类型

InfluxDB 3 Core 使用 Apache Arrow DataFusion 实现 SQL。数据类型定义了可以存储在表列中的值的类型。在 InfluxDB 的 SQL 实现中,一个 **measurement** 被结构化为一张表,而 **tags**、**fields** 和 **timestamps** 则被公开为列。

SQL 和 Arrow 数据类型

在 SQL 中,每一列、表达式和参数都有一个数据类型。数据类型是指定对象可以保存的数据类型的属性。DataFusion 在查询执行中使用 Arrow 类型系统。所有 SQL 类型都映射到 Arrow 数据类型

SQL 和 Arrow 数据类型在查询执行期间如何操作数据以及在查询结果中如何返回数据方面都起着重要作用。

执行转换操作时,请转换为 SQL 数据类型,除非您使用 arrow_cast() 转换为特定的 Arrow 类型。SQL 中的名称和标识符默认是不区分大小写的。例如:

SELECT
  '99'::BIGINT,
  '2019-09-18T00:00:00Z'::timestamp

字符串类型

SQL 数据类型Arrow 数据类型描述
STRINGUTF8字符字符串,可变长度
CHARUTF8字符字符串,固定长度
VARCHARUTF8字符字符串,可变长度
TEXTUTF8可变无限长度
字符串文字示例
'abcdefghijk'
'time'
'h2o_temperature'

数字类型

支持以下数字类型:

SQL 数据类型Arrow 数据类型描述
BIGINTINT6464 位有符号整数
BIGINT UNSIGNEDUINT6464 位无符号整数
DOUBLEFLOAT6464 位浮点数

整数

InfluxDB SQL 支持 64 位有符号整数。

最小有符号整数-9223372036854775808 最大有符号整数9223372036854775807

整数文字示例
234
-446
5

无符号整数

InfluxDB SQL 支持 64 位无符号整数。

最小无符号整数0 最大无符号整数18446744073709551615

无符号整数文字示例

无符号整数文字是由转换为 BIGINT UNSIGNED 类型的整数组成的。

234::BIGINT UNSIGNED
458374893::BIGINT UNSIGNED
5::BIGINT UNSIGNED

浮点数

InfluxDB SQL 支持 64 位双精度浮点数值。浮点数可以是小数点、整数或小数分数。

浮点文字示例
23.8
-446.89
5.00
0.033

日期和时间数据类型

InfluxDB SQL 支持以下 DATE/TIME 数据类型:

SQL 数据类型Arrow 数据类型描述
TIMESTAMPTimestamp(Nanosecond, None)纳秒时间戳,无时区偏移
INTERVALInterval(IntervalMonthDayNano)具有指定持续时间的事件间隔。

Timestamp

时间类型是使用纳秒精度表示的单个时间点。

支持以下日期和时间格式:

YYYY-MM-DDT00:00:00.000Z
YYYY-MM-DDT00:00:00.000-00:00
YYYY-MM-DD 00:00:00.000-00:00
YYYY-MM-DDT00:00:00Z
YYYY-MM-DD 00:00:00.000
YYYY-MM-DD 00:00:00
时间戳文字示例
'2023-01-02T03:04:06.000Z'
'2023-01-02T03:04:06.000-00:00'
'2023-01-02 03:04:06.000-00:00'
'2023-01-02T03:04:06Z'
'2023-01-02 03:04:06.000'
'2023-01-02 03:04:06'

间隔

INTERVAL 数据类型可以与以下精度一起使用:

  • 纳秒
  • 微秒
  • 毫秒
  • second
  • minute
  • 小时
  • 世纪
间隔文字示例
INTERVAL '10 minutes'
INTERVAL '1 year'
INTERVAL '2 days 1 hour 31 minutes'

布尔类型

布尔值存储 TRUE 或 FALSE 值。

SQL 数据类型Arrow 数据类型描述
BOOLEAN布尔值真或假值
布尔文字示例
true
TRUE
false
FALSE

不支持的 SQL 类型

目前不支持以下 SQL 类型:

  • UUID
  • BLOB
  • CLOB
  • BINARY
  • VARBINARY
  • REGCLASS
  • NVARCHAR
  • CUSTOM
  • ARRAY
  • ENUM
  • SET
  • DATETIME
  • BYTEA

与参数兼容的数据类型

有关可以被参数替换的数据类型的信息,请参阅如何 使用参数化查询进行 SQL 查询


此页面是否有帮助?

感谢您的反馈!


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