Documentation

SQL 数据类型

InfluxDB Cloud Serverless使用Apache Arrow DataFusion实现的SQL。 数据类型定义了可以存储在表列中的值的类型。 在InfluxDB的SQL实现中,度量被结构化为一个表, 标签字段时间戳被显示为列。

SQL 和 Arrow 数据类型

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

SQL和Arrow数据类型在查询执行期间以及在查询结果中返回数据的方式中发挥着重要作用。

在执行转换操作时,除非使用 arrow_cast() 将数据转换为特定的箭头类型,否则转换为SQL数据类型。SQL中的名称和标识符默认情况下是不区分大小写的。例如:

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

字符串类型

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

数字类型

支持以下数值类型:

SQL 数据类型Arrow 数据类型描述
BIGINTINT6464位有符号整数
无符号大整数UINT6464位无符号整数
双精度浮点数6464位浮点数

整数

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 数据类型描述
TIMESTAMPTimestamp(Nanosecond, None)无时区偏移的纳秒时间戳
时间间隔Interval(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
  • 二进制大对象
  • CLOB
  • 二进制
  • 变长二进制
  • 注册类
  • nvarchar
  • 自定义
  • 数组
  • 枚举
  • 设置
  • 日期时间
  • 字节数组

与参数兼容的数据类型

有关可以由参数替代的数据类型的信息,请参阅如何 使用带参数的SQL查询



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 云端无服务器