hive数据保留小数点两位小数

方法一

  • round(column_name,2)

四舍五入截取(这种方法慎用,有时候结果不是你想要的)

select round(645342.875645342,2);
+------------+--+
|    _c0     |
+------------+--+
| 645342.88  |
+------------+--+

方法二

  • cast(column_name as decimal(10,2))

cast函数截取(推荐使用)

select cast(645342.875645342 as decimal(10,2))
. . . . . . . . . . . . . . . . . . . .> ;
+------------+--+
|    _c0     |
+------------+--+
| 645342.88  |
+------------+--+

方法三

  • regexp_extract(column_name,’([0-9]*.[0-9][0-9])’,1)

正则匹配截取,不做四舍五入,只是单纯的当作字符串截取
注意: 这种方式存在问题,对于正则表达式匹配不到的数据,数据就获取不到了,会变成NULL

你可能感兴趣的:(hive,hive,大数据)