跳到主要内容
版本:3.12.0

数值

nGQL 支持整数和浮点数。

整数

nGQL 支持带符号的 64 位整数(INT64)、32 位整数(INT32)、16 位整数(INT16)和 8 位整数(INT8)。

类型声明关键字范围
INT64INT64INT-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
INT32INT32-2,147,483,648 ~ 2,147,483,647
INT16INT16-32,768 ~ 32,767
INT8INT8-128 ~ 127

浮点数

nGQL 支持单精度浮点(FLOAT)和双精度浮点(DOUBLE)。

类型声明关键字范围精度
FLOATFLOAT3.4E +/- 386~7 位
DOUBLEDOUBLE1.7E +/- 30815~16 位

nGQL 支持科学计数法,例如1e21.1e2.3e41.e4-1234E-10

备注

不支持 MySQL 中的 DECIMAL 数据类型。

数值的读写

在写入和读取不同类型的数据时,nGQL 的行为遵守以下规则:

数值类型设置为 VID设置为属性类型读取该类型的属性值得到的类型
INT64支持支持INT64
INT32不支持支持INT64
INT16不支持支持INT64
INT8不支持支持INT64
FLOAT不支持支持DOUBLE
DOUBLE不支持支持DOUBLE

例如,nGQL 不支持设置 INT8 类型的 VID,但支持将 TAGEdge type 的某个属性类型设置为 INT8。当使用 nGQL 语句读取 INT8 类型的属性时,获取到的值的类型为 INT64。

  • 悦数图数据库 支持写入多种进制的数值:

  • 十进制,例如123456

  • 十六进制,例如0x1e240

  • 八进制,例如0361100

悦数图数据库 会将写入的非十进制数值解析为十进制的值保存。读取到的值为十进制。

例如,属性score的类型为INT,通过 INSERT 语句为其赋值0xb,使用 FETCH 等语句查询该属性值获取到的结果是11,即将十六进制的0xb转换为十进制后的值。

  • 将 FLOAT/DOUBLE 类型的数值插入 INT 类型的列,会将数值四舍五入取整。