在配置单元中将科学数转换为十进制

y1aodyip  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(362)

我想把Hive中有科学记数法的数字转换成十进制,但输出结果有误。我做错了。。
下面是我要测试的查询。

select cast(-1.36666E2 as decimal(6,1))

我期望输出为-1.36666。但是我得到了-136.7

vs91vp4v

vs91vp4v1#

十进制(精度、小数位数)是数据类型。
精度是数字中的位数。小数位数是数字小数点右边的位数。
例如,数字136.7的精度为4,小数位数为1,因此如果您的精度为1.36666,则精度为6,小数位数为5

select cast(-1.36666E2 as decimal(6,3))

-1.36666e2等于-1.36666*10^2。返回-136.666。输入-1.36666e2将不会得到-1.36666

相关问题