在Hive中将Scientific Sc​​ientific数字转换为Decimal

时间:2017-10-16 05:15:27

标签: sql hive

我想在Hive中将带有科学记数法的数字转换为Decimal,但是输出错误了。我做错了...

以下是我要测试的查询。

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

我希望输出 -1.36666 。但我得到了 -136.7

1 个答案:

答案 0 :(得分:1)

DECIMAL(precision,scale)是数据类型。

精确度是数字中的位数。 Scale是数字中小数点右边的位数。

例如,数字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