tencent cloud

文档反馈

数据类型

最后更新时间:2023-11-08 15:51:24
    流计算 Oceanus 采用符合 ANSI SQL 规范的定义,支持丰富的数据类型。用户在使用 CREATE TABLE 语句定义一个数据表时,可以用这些数据类型来定义每个字段的类型。

    支持的类型列表

    类型名称
    使用说明
    CHAR
    CHAR(n)
    定长字符串。n 表示容纳的字符数,默认为1,即 CHAR 等价于 CHAR(1)。
    VARCHAR
    VARCHAR(n)
    STRING
    可变长度字符串。n 表示最多容纳的字符数,默认为1,即 VARCHAR 等价于 VARCHAR(1)。STRING 等价于 VARCHAR(2147483647)。
    BINARY
    BINARY(n)
    固定长度的二进制字符串。n 表示容纳的字节数量,默认为1,即 BINARY 等价于 BINARY(1)。
    VARBINARY
    VARBINARY(n)
    BYTES
    可变长度的二进制字符串。n 表示容纳的字节数量,默认为1,即 VARBINARY 等价于 VARBINARY(1)。BYTES 等价于 VARBINARY(2147483647)。
    DECIMAL
    DECIMAL(p)
    DECIMAL(p, s)
    DEC
    DEC(p)
    DEC(p, s)
    NUMERIC
    NUMERIC(p)
    NUMERIC(p, s)
    固定精度的实数(定点数)。
    p 表示数字的总位数(精度),取值区间为[1,38],默认值是10。
    s 表示小数点右边的位数(尾数),取值区间为[0,p],默认值是0。DEC 和 NUMERIC 是 DECIMAL 的别名,可以任意互换使用,即 DECIMAL(p, s) 等价于 DEC(p, s) 也等价于 NUMERIC(p, s)。
    TINYINT
    1个字节的整数。等价于 Java 的 Byte 类型,取值范围是[-128,127]。
    SMALLINT
    2个字节的整数。等价于 Java 的 Short 类型,取值范围是[-32768,32767]。
    INT
    4个字节的整数。等价于 Java 的 Integer 类型,取值范围是[-2147483648,2147483647]。
    BIGINT
    8个字节的整数。等价于 Java 的 Long 类型,取值范围是[-9223372036854775808,9223372036854775807]。
    FLOAT
    4个字节的单精度浮点数。等价于 Java 的 Float 类型。
    DOUBLE
    8个字节的双精度浮点数。等价于 Java 的 Double 类型。
    DATE
    日期类型,包含年-月-日。取值范围是[0000-01-01,9999-12-31]。
    TIME
    TIME(p)
    不含时区信息的时间类型,包含时-分-秒及纳秒信息。
    取值范围是[00:00:00.000000000,23:59:59.999999999]。
    p 表示秒的小数位精度,取值范围是[0,9]。如果未指定,默认为0。
    此类型不支持闰秒。类似于 Java 的 LocalTime 类型。
    TIMESTAMP
    TIMESTAMP(p)
    TIMESTAMP WITHOUT TIME ZONE
    TIMESTAMP(p) WITHOUT TIME ZONE
    不含时区信息的时间戳类型,精度可以达到纳秒级别。
    取值范围是[0000-01-01 00:00:00.000000000,9999-12-31 23:59:59.999999999]。
    p 表示秒的小数位精度,取值范围是[0,9]。如果未指定,默认为6。
    此类型不支持与 BIGINT(Java 的 Long 类型)之间相互转换。TIMESTAMP WITHOUT TIMEZONE 类型等价于 TIMESTAMP 类型。
    此类型不支持闰秒。类似于 Java 的 Timestamp 类型。
    TIMESTAMP WITH TIME ZONE
    TIMESTAMP(p) WITH TIME ZONE
    含时区信息的时间戳类型。
    取值范围是[0000-01-01 00:00:00.000000000 +14:59,9999-12-31 23:59:59.999999999 -14:59]。
    p 表示秒的小数位精度,取值范围是[0,9]。如果未指定,默认为6。
    每条该类型的数据,都含有各自的时区信息。
    此类型不支持闰秒。类似于 Java 的 OffsetDateTime 类型。
    TIMESTAMP WITH LOCAL TIME ZONE
    TIMESTAMP(p) WITH LOCAL TIME ZONE
    本地时区
    信息的时间戳类型。
    取值范围是[0000-01-01 00:00:00.000000000 +14:59,9999-12-31 23:59:59.999999999 -14:59]。
    p 表示秒的小数位精度,取值范围是[0,9]。如果未指定,默认为6。
    时区数据不存储在每条数据中,而是遵循全局的时区设置。
    此类型不支持闰秒。类似于 Java 的 OffsetDateTime 类型。
    INTERVAL YEAR
    INTERVAL YEAR(p)
    INTERVAL YEAR(p) TO MONTH
    INTERVAL MONTH
    表示以年和月表示的一段粗粒度的时间间隔,精度为月份。
    语法为+年数-月数,例如+04-02。
    取值范围是[-9999-11,+9999-11]。
    p 表示年的精度位数,取值范围是[1,4],默认为2。
    INTERVAL DAY
    INTERVAL DAY(p1)
    INTERVAL DAY(p1) TO HOUR
    INTERVAL DAY(p1) TO MINUTE
    INTERVAL DAY(p1) TO SECOND(p2)
    INTERVAL HOUR
    INTERVAL HOUR TO MINUTE
    INTERVAL HOUR TO SECOND(p2)
    INTERVAL MINUTE
    INTERVAL MINUTE TO SECOND(p2)
    INTERVAL SECOND
    INTERVAL SECOND(p2)
    表示以天、时、分、秒、纳秒表示的细粒度时间间隔,最高精度为纳秒。
    取值范围是[-999999 23:59:59.999999999,+999999 23:59:59.999999999]。
    p1 表示天数精度的位数,p1 的取值范围是[1,6],默认为2。
    p2 表示秒的小数位数,p2 的取值范围是[0,9],默认为6。
    ARRAY<t>
    t ARRAY
    数组类型,大小固定为2147483647。
    t 表示数组中元素的类型。
    ARRAY<t> 等价于 t ARRAY,例如 ARRAY<INT> 与 INT ARRAY 含义一致。
    MAP<kt, vt>
    键值对映射类型,其中 kt 是键(key)的类型,vt 是值(value)的类型。
    MULTISET<t>
    t MULTISET
    允许重复元素的集合类型,别称为 Bag。同样地,MULTISET<t> 等价于 t MULTISET。
    ROW<n0 t0, n1 t1, ...>
    ROW<n0 t0 'd0', n1 t1 'd1', ...>
    ROW(n0 t0, n1 t1, ...)
    ROW(n0 t0 'd0', n1 t1 'd1', ...)
    允许包含多个字段的复合类型,每个字段有自己的类型,类似于其他语言的 Struct 及 Tuple 类型。
    n 表示字段名。
    t 是字段的逻辑类型。
    d 是字段的描述。
    尖括号和圆括号的两种写法是等价的,例如 ROW(field1 INT, field2 BOOLEAN) 等同于 ROW<field1 INT, field2 BOOLEAN>
    BOOLEAN
    三值布尔型,可选值为 TRUE、FALSE 和 UNKNOWN。如果不允许出现 UNKNOWN,可以定义为 BOOLEAN NOT NULL 类型。
    RAW('class', 'snapshot')
    可表示任意类型,例如 Flink 无法识别或者不需要识别的类型。
    class 表示原始类型。
    snapshot 表示 Base64 编码的序列化后的 TypeSerializerSnapshot 定义。
    NULL
    空值,类似 Java 等语言中的 null 值。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持