hive:DECIMAL
时间: 2023-10-24 18:32:55 浏览: 423
hive
5星 · 资源好评率100%
Hive中的DECIMAL类型与Java的BigDecimal格式相同,用于表示不变的任意精度数字。DECIMAL类型的语法如下:DECIMAL(precision, scale)。其中,precision表示数字的总位数,scale表示小数位数。如果不指定参数,默认为DECIMAL(10,0),即没有小数位。
需要注意的是,当DECIMAL类型的precision为9,scale为8时,最多只能表示9位数字,其中后8位是小数。如果数字的整数部分超过1位,将会变成null。另外,如果不指定参数,默认的precision为10,scale为0,即没有小数位。这意味着小数点前最多有1位数字,如果超过一位,则会四舍五入并变成null。例如,0.82在默认的DECIMAL(10,0)类型下会变成1。
在Hive中,计算调整的scale值的方法是通过将HiveDecimal的最大精度HiveDecimal.MAX_PRECISION减去整数位数intDigits。例如,如果intDigits为10,则调整的scale值为HiveDecimal.MAX_PRECISION - intDigits。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [Hive中的DECIMAL类型](https://blog.csdn.net/CarloPan/article/details/109306850)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [hive3.1decimal计算详细逻辑](https://blog.csdn.net/cclovezbf/article/details/126886601)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文