上云无忧 > 文档中心 > 百度数据仓库 Palo SQL手册 - 数据类型
百度数据仓库 Palo Doris版
百度数据仓库 Palo SQL手册 - 数据类型

文档简介:
TINYINT数据类型: 长度: 长度为1个字节的有符号整型。 范围: [-128, 127]。 转换: PALO可以自动将该类型转换成更大的整型或者浮点类型。使用CAST()函数可以将其转换成CHAR。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

TINYINT数据类型

长度: 长度为1个字节的有符号整型。

范围: [-128, 127]

转换: PALO可以自动将该类型转换成更大的整型或者浮点类型。使用CAST()函数可以将其转换成CHAR。

举例:

mysql> select cast(100 as char);
 +------------------------+
 | CAST(100 AS CHARACTER) |
 +------------------------+
 | 100                    |
 +------------------------+
 1 row in set (0.00 sec)

SMALLINT数据类型

长度: 长度为2个字节的有符号整型。

范围: [-32768, 32767]

转换: PALO可以自动将该类型转换成更大的整型或者浮点类型。使用CAST()函数可以将其转换成TINYINT,CHAR。

举例:

mysql> select cast(10000 as char);
 +--------------------------+
 | CAST(10000 AS CHARACTER) |
 +--------------------------+
 | 10000                    |
 +--------------------------+
 1 row in set (0.01 sec)

 mysql> select cast(10000 as tinyint);
 +------------------------+
 | CAST(10000 AS TINYINT) |
 +------------------------+
 |                     16 |
 +------------------------+
 1 row in set (0.00 sec)

INT数据类型

长度: 长度为4个字节的有符号整型。

范围: [-2147483648, 2147483647]

转换: PALO可以自动将该类型转换成更大的整型或者浮点类型。使用CAST()函数可以将其转换成TINYINT,SMALLINT,CHAR

举例:

mysql> select cast(111111111  as char);
 +------------------------------+
 | CAST(111111111 AS CHARACTER) |
 +------------------------------+
 | 111111111                    |
 +------------------------------+
 1 row in set (0.01 sec)

BIGINT数据类型

长度: 长度为8个字节的有符号整型。

范围: [-9223372036854775808, 9223372036854775807]

转换: PALO可以自动将该类型转换成更大的整型或者浮点类型。使用CAST()函数可以将其转换成TINYINT,SMALLINT,INT,CHAR

举例:

mysql> select cast(9223372036854775807 as char);
 +----------------------------------------+
 | CAST(9223372036854775807 AS CHARACTER) |
 +----------------------------------------+
 | 9223372036854775807                    |
 +----------------------------------------+
 1 row in set (0.01 sec)

LARGEINT数据类型

长度: 长度为16个字节的有符号整型。

范围: [-2^127, 2^127-1]

转换: PALO可以自动将该类型转换成浮点类型。使用CAST()函数可以将其转换成TINYINT,SMALLINT,INT,BIGINT,CHAR

举例:

mysql> select cast(922337203685477582342342 as double);
 +------------------------------------------+
 | CAST(922337203685477582342342 AS DOUBLE) |
 +------------------------------------------+
 |                     9.223372036854776e23 |
 +------------------------------------------+
 1 row in set (0.05 sec)

FLOAT数据类型

长度: 长度为4字节的浮点类型。

范围: -3.40E+38 ~ +3.40E+38。

转换: PALO会自动将FLOAT类型转换成DOUBLE类型。用户可以使用CAST()将其转换成TINYINT, SMALLINT, INT, BIGINT, STRING, TIMESTAMP。

DOUBLE数据类型

长度: 长度为8字节的浮点类型。

范围: -1.79E+308 ~ +1.79E+308。

转换: PALO不会自动将DOUBLE类型转换成其他类型。用户可以使用CAST()将其转换成TINYINT, SMALLINT, INT, BIGINT, STRING, TIMESTAMP。用户可以使用指数符号来描述DOUBLE 类型,或通过STRING转换获得。

DECIMAL数据类型

DECIMAL[M, D]

保证精度的小数类型。M代表一共有多少个有效数字,D代表小数点后最多有多少数字。M的范围是[1,27],D的范围是[1,9],另外,M必须要大于等于D的取值。默认取值为decimal[10,0]。

precision: 1 ~ 27

scale: 0 ~ 9

举例:

1.默认取值是decimal(10, 0)

mysql> CREATE TABLE testTable1 (k1 bigint, k2 varchar(100), v decimal SUM) DISTRIBUTED BY RANDOM BUCKETS 8;
 Query OK, 0 rows affected (0.09 sec)

 mysql> describe testTable1;
 +-------+----------------+------+-------+---------+-------+
 | Field | Type           | Null | Key   | Default | Extra |
 +-------+----------------+------+-------+---------+-------+
 | k1    | bigint(20)     | Yes  | true  | N/A     |       |
 | k2    | varchar(100)   | Yes  | true  | N/A     |       |
 | v     | decimal(10, 0) | Yes  | false | N/A     | SUM   |
 +-------+----------------+------+-------+---------+-------+
 3 rows in set (0.01 sec)

2.显式指定decimal的取值范围

CREATE TABLE testTable2 (k1 bigint, k2 varchar(100), v decimal(8,5) SUM) DISTRIBUTED BY RANDOM BUCKETS 8;
 Query OK, 0 rows affected (0.11 sec)

 mysql> describe testTable2;
 +-------+---------------+------+-------+---------+-------+
 | Field | Type          | Null | Key   | Default | Extra |
 +-------+---------------+------+-------+---------+-------+
 | k1    | bigint(20)    | Yes  | true  | N/A     |       |
 | k2    | varchar(100)  | Yes  | true  | N/A     |       |
 | v     | decimal(8, 5) | Yes  | false | N/A     | SUM   |
 +-------+---------------+------+-------+---------+-------+
 3 rows in set (0.00 sec)

DATE数据类型

范围: ['1000-01-01', '9999-12-31']。默认的打印形式是’YYYY-MM-DD’。

DATETIME数据类型

范围: ['1000-01-01 00:00:00', '9999-12-31 00:00:00']。默认的打印形式是’YYYY-MM-DD HH:MM:SS’。

CHAR数据类型

范围: char[(length)],定长字符串,长度length范围1~255,默认为1。

转换:用户可以通过CAST函数将CHAR类型转换成TINYINT,,SMALLINT,INT,BIGINT,LARGEINT,DOUBLE,DATE或者DATETIME类型。

示例:

mysql> select cast(1234 as bigint);
 +----------------------+
 | CAST(1234 AS BIGINT) |
 +----------------------+
 |                 1234 |
 +----------------------+
 1 row in set (0.01 sec)

VARCHAR数据类型

范围: char(length),变长字符串,长度length范围1~65535。

转换:用户可以通过CAST函数将CHAR类型转换成TINYINT,,SMALLINT,INT,BIGINT,LARGEINT,DOUBLE,DATE或者DATETIME类型。

示例:

mysql> select cast('2011-01-01' as date); 
 +----------------------------+
 | CAST('2011-01-01' AS DATE) |
 +----------------------------+
 | 2011-01-01                 |
 +----------------------------+
 1 row in set (0.01 sec)

 mysql> select cast('2011-01-01' as datetime);
 +--------------------------------+
 | CAST('2011-01-01' AS DATETIME) |
 +--------------------------------+
 | 2011-01-01 00:00:00            |
 +--------------------------------+
 1 row in set (0.01 sec)

 mysql> select cast(3423 as bigint);
 +----------------------+
 | CAST(3423 AS BIGINT) |
 +----------------------+
 |                 3423 |
 +----------------------+
 1 row in set (0.01 sec)

HLL 数据类型

HLL(HyperLogLog) 类型是一个二进制类型。HLL 类型只能用于聚合类型的表(Aggregation Table),并且必须指定聚合类型为 HLL_UNION。

HLL 类型主要用于非精确快速去重场景下,对数据进行预聚合。

HLL列只能通过配套的 hll_union_agg、hll_cardinality、hll_hash 进行查询或使用。

BITMAP 数据类型

BITMAP 类型是一个二进制类型。BITMAP 类型只能用于聚合类型的表(Aggregation Table),并且必须指定聚合类型为 BITMAP_UNION。

BITMAP 类型主要用于精确去重场景下,对数据进行预聚合。同时也可以用于如用户画像场景存放用户ID等。

BITMAP 列只能通过配套的 BITMAP 函数进行查询和使用。

相似文档
  • PALO中的每种数据类型都会对应着一种该类型的Literal。用户可以在SQL语句中指定Literal,比如在select的list中,where从句中以及函数的参数中。 数字字面常量: 整型类型(TINYINT, SMALLINT, INT, 和BIGINT)的字面常量是一系列数字,这些数字前可以加些0。
  • SQL操作符是一系列用于比较的函数,这些操作符广泛的用于select 语句的where从句中。 算数操作符: 算术操作符通常出现在包含左操作数,操作符,(大部分情况下)右操作数组成的表达式中。
  • 当你在查询中书写表,列,或者包含列的表达式的名字时,你可以同时给他们分配一个别名。当你需要使用表名,列名时,你可以使用别名来访问。别名通常相对原名来说更简短更好记。当需要新建一个别名时,只需在select list或者from list中的表、列、表达式名称后面加上AS alias从句即可。
  • PALO提供在线和离线的SQL手册。 在线的SQL手册通过连接PALO后使用help命令查看。如查看如何创建数据库。
  • PALO支持SQL注释: 单行注释: 以--开头的语句会被识别成注释并且被忽略掉。单行注释可以独立成行或者出现在其他语句的部分语句或者完整语句之后。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部