如果给数值型数据加后缀,必须是大写。
什么都不加
默认为 int,对应 java 中的 int,数据库中的 int。
hive> explain extended select 9;
OK
STAGE DEPENDENCIES:
Stage-0 is a root stage
STAGE PLANS:
Stage: Stage-0
Fetch Operator
limit: -1
Processor Tree:
TableScan
alias: _dummy_table
Row Limit Per Split: 1
GatherStats: false
Select Operator
expressions: 9 (type: int)
outputColumnNames: _col0
ListSink
Time taken: 0.167 seconds, Fetched: 17 row(s)
L
L 代表 Long,对应 java 中的 Long 类型,对应数据库的 bigint。占用 8 字节。
hive> explain extended select 9L;
OK
STAGE DEPENDENCIES:
Stage-0 is a root stage
STAGE PLANS:
Stage: Stage-0
Fetch Operator
limit: -1
Processor Tree:
TableScan
alias: _dummy_table
Row Limit Per Split: 1
GatherStats: false
Select Operator
expressions: 9L (type: bigint)
outputColumnNames: _col0
ListSink
S
S 对应 java 中的 short,数据库的 smallint。占用 2 字节
数据超过范围会溢出。
hive> select 9S + 32761S;
OK
-32766
hive> explain extended select 9S;
OK
STAGE DEPENDENCIES:
Stage-0 is a root stage
STAGE PLANS:
Stage: Stage-0
Fetch Operator
limit: -1
Processor Tree:
TableScan
alias: _dummy_table
Row Limit Per Split: 1
GatherStats: false
Select Operator
expressions: 9S (type: smallint)
outputColumnNames: _col0
ListSink
Time taken: 0.378 seconds, Fetched: 17 row(s)
Y
Y 对应的是 java 中的 byte,数据库中的 tinyint。只有1字节。
hive> select 9Y+121Y;
OK
-126
hive> explain extended select 9Y;
OK
STAGE DEPENDENCIES:
Stage-0 is a root stage
STAGE PLANS:
Stage: Stage-0
Fetch Operator
limit: -1
Processor Tree:
TableScan
alias: _dummy_table
Row Limit Per Split: 1
GatherStats: false
Select Operator
expressions: 9Y (type: tinyint)
outputColumnNames: _col0
ListSink
Time taken: 0.155 seconds, Fetched: 17 row(s)
BD
BD 对应 BigDecimal,数据库中的 decimal 类型。
hive> explain extended select 1.23BD;
OK
STAGE DEPENDENCIES:
Stage-0 is a root stage
STAGE PLANS:
Stage: Stage-0
Fetch Operator
limit: -1
Processor Tree:
TableScan
alias: _dummy_table
Row Limit Per Split: 1
GatherStats: false
Select Operator
expressions: 1.23 (type: decimal(3,2))
outputColumnNames: _col0
ListSink
Time taken: 0.183 seconds, Fetched: 17 row(s)
D
D 对应 java 中的 double,数据库中的 double 类型。
hive> explain extended select 1.23D;
OK
STAGE DEPENDENCIES:
Stage-0 is a root stage
STAGE PLANS:
Stage: Stage-0
Fetch Operator
limit: -1
Processor Tree:
TableScan
alias: _dummy_table
Row Limit Per Split: 1
GatherStats: false
Select Operator
expressions: 1.23D (type: double)
outputColumnNames: _col0
ListSink
Time taken: 0.137 seconds, Fetched: 17 row(s)
E e(大小写都可以)
数据的指数表示。
select 1e2;
OK
100.0
Time taken: 0.165 seconds, Fetched: 1 row(s)
hive> explain extended select 1e2;
OK
STAGE DEPENDENCIES:
Stage-0 is a root stage
STAGE PLANS:
Stage: Stage-0
Fetch Operator
limit: -1
Processor Tree:
TableScan
alias: _dummy_table
Row Limit Per Split: 1
GatherStats: false
Select Operator
expressions: 100.0D (type: double)
outputColumnNames: _col0
ListSink
Time taken: 0.157 seconds, Fetched: 17 row(s)
版权声明:本文为houzhizhen原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。