文档

SQL数据类型

InfluxDB集群版使用Apache Arrow DataFusion实现的SQL。数据类型定义了可以存储在表列中的值的类型。在InfluxDB的SQL实现中,一个测量被结构化为一个表,而标签字段时间戳作为列公开。

SQL和Arrow数据类型

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

SQL和Arrow数据类型在查询执行期间操作数据和返回查询结果方面都发挥着重要作用。

在执行类型转换操作时,除非您使用arrow_cast()将类型转换为特定的Arrow类型,否则请转换为SQL数据类型。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支持以下日期/时间数据类型

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

时间戳

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

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

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数据类型可以使用以下精度

  • 纳秒
  • 微秒
  • 毫秒
  • 分钟
  • 小时
  • 世纪
示例时间间隔字面量
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参数化查询


这个页面有帮助吗?

感谢您的反馈!


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