• 数据类型
    • 数值型
      • 整型
      • 浮点型
      • 双浮点型
    • 布尔型
    • 字符型
    • 时间戳类型
    • 示例

    数据类型

    Nebula Graph 支持的内建数据类型如下:

    数值型

    整型

    整型的关键字为 int,为 64 位有符号整型,范围是[-9223372036854775808, 9223372036854775807],且在基于 int64 的计算中不存在溢出。整型常量支持多种格式:

    1. 十进制,例如 123456
    2. 十六进制,例如 0xdeadbeaf
    3. 八进制,例如 01234567

    浮点型

    单精度浮点数的关键字为 float,且 float 仅对 Schema 定义及存储字节数有意义,浮点型字面常量在语法解析以及运算过程中,均被当做双精度浮点数看待。

    双浮点型

    双精度浮点数的关键字为 double,且没有上限和下限。

    布尔型

    布尔型关键字为 bool,字面常量为 truefalse

    字符型

    字符型关键字为 string,字面常量为双引号或单引号包围的任意长度的字符序列,字符串中间不允许换行。例如"Shaquile O'Neal"'"This is a double-quoted literal string"'。字符串内支持嵌入转义序列,例如:

    1. "\n\t\r\b\f"
    2. "\110ello world"

    时间戳类型

    • 时间戳类型的取值范围为 ‘1970-01-01 00:00:01’ UTC 到 ‘2262-04-11 23:47:16’ UTC
    • 时间戳单位为秒
    • 插入数据的时候,支持插入方式
      • 调用函数 now()
      • 时间字符串, 例如:”2019-10-01 10:00:00”
      • 直接输入时间戳,即从 1970-01-01 00:00:00 开始的秒数
    • 做数据存储的时候,会先将时间转化为UTC 时间,读取的时候会将存储的UTC 时间转换为本地时间给用户
    • 底层存储数据类型为: int64

    示例

    先创建一个名为 school 的 tag

    1. nebula> CREATE TAG school(name string , create_time timestamp);

    插入一个点,名为 “xiwang”,建校时间为 “2010-09-01 08:00:00”

    1. nebula> INSERT VERTEX school(name, create_time) VALUES hash("xiwang"):("xiwang", "2010-09-01 08:00:00")

    插入一个点,名为 “guangming”,建校时间为现在

    1. nebula> INSERT VERTEX school(name, create_time) VALUES hash("guangming"):("guangming", now())