我想把Hive中有科学记数法的数字转换成十进制,但输出结果有误。我做错了。。下面是我要测试的查询。
select cast(-1.36666E2 as decimal(6,1))
我期望输出为-1.36666。但是我得到了-136.7
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
1条答案
按热度按时间vs91vp4v1#
十进制(精度、小数位数)是数据类型。
精度是数字中的位数。小数位数是数字小数点右边的位数。
例如,数字136.7的精度为4,小数位数为1,因此如果您的精度为1.36666,则精度为6,小数位数为5
-1.36666e2等于-1.36666*10^2。返回-136.666。输入-1.36666e2将不会得到-1.36666