我想在 Hive 中将具有科学记数法的数字转换为小数,但我得到了错误的输出。我做错的地方..
以下是我要测试的查询。
select cast(-1.36666E2 as decimal(6,1))
Run Code Online (Sandbox Code Playgroud)
我期望输出为-1.36666。但我得到了-136.7
DECIMAL(precision, scale) 是数据类型。
精度是数字中的位数。小数位数是数字中小数点右侧的位数。
例如,数字 136.7 的精度为 4,小数位数为 1 因此,如果您有 1.36666 ,则精度为 6,小数位数为 5
select cast(-1.36666E2 as decimal(6,3))
Run Code Online (Sandbox Code Playgroud)
-1.36666E2 是 -1.36666* 10^2。这将返回 -136.666。输入 -1.36666E2 不会得到 -1.36666
| 归档时间: |
|
| 查看次数: |
8185 次 |
| 最近记录: |