跳转至

数值

nGQL支持整数和浮点数。

整数

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

类型 声明关键字 范围
INT64 INT64INT -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
INT32 INT32 -2,147,483,648 ~ 2,147,483,647
INT16 INT16 -32,768 ~ 32,767
INT8 INT8 -128 ~ 127

浮点数

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

类型 声明关键字 范围 精度
FLOAT FLOAT 3.4E +/- 38 6~7位
DOUBLE DOUBLE 1.7E +/- 308 15~16位

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

Note

不支持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。

同时,Nebula Graph支持写入多种进制的数值:

  • 十进制,例如123456
  • 十六进制,例如0x1e240
  • 八进制,例如0361100

但Nebula Graph会将写入的非十进制数值解析为十进制的值保存。读取到的值为十进制。

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


最后更新: July 21, 2021
Back to top