hive decimal
时间: 2023-11-03 21:06:26 浏览: 171
Hive中的DECIMAL类型是用来表示不变的任意精度的数据类型,它与Java的Big Decimal格式相同。在Hive中,可以使用DECIMAL(precision, scale)的语法来定义DECIMAL类型的列,其中precision表示数字总长度的位数,scale表示小数的位数。例如,DECIMAL(10,0)表示没有小数位的整数。
需要注意的是,DECIMAL类型的两个参数的含义可能会有一些差异。在Hive中,DECIMAL(9,8)表示最多9位数字,其中后8位是小数。如果超过一位整数,则会变成null。如果不指定参数,默认是DECIMAL(10,0),表示没有小数位。因此,0.82会被转换为1。
Hive的DECIMAL类型与Oracle的类似,表示数字总长度为m位,小数位为n位,因此整数位就只有m-n位。这与MySql的表示方式是不同的,MySql直接表示整数位为m位。
在Hive中,可以通过创建表的方式来使用DECIMAL类型,例如通过以下语句创建表datatype_test1,其中包含一个整数类型的列id和两个DECIMAL类型的列col1和col2:create table if not exists datatype_test1(id int, col1 decimal, col2 decimal(9,8)) row format delimited fields terminated by ',';<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文