impala的decimal除法
时间: 2023-07-21 22:22:05 浏览: 78
在Impala中,如果两个DECIMAL类型的数值进行除法运算,结果将会是DECIMAL类型的数值。如果除数或被除数其中有一个是FLOAT或DOUBLE类型的,那么结果将会是DOUBLE类型的数值。
以下是一个示例,演示如何在Impala中进行DECIMAL类型的除法运算:
```
-- 创建一个包含DECIMAL类型的表
CREATE TABLE my_table (a DECIMAL(10,2), b DECIMAL(10,2));
-- 插入一些数据
INSERT INTO my_table VALUES (10.50, 2.00), (8.75, 0.25);
-- 查询结果
SELECT a, b, a/b FROM my_table;
```
运行以上代码,将会输出如下结果:
```
+-------+------+-----------+
| a | b | a / b |
+-------+------+-----------+
| 10.50 | 2.00 | 5.250000 |
| 8.75 | 0.25 | 35.000000 |
+-------+------+-----------+
```
可以看到,a/b的结果是DECIMAL类型的数值。如果要将结果转换为DOUBLE类型的数值,可以使用CAST函数进行转换:
```
SELECT a, b, CAST(a/b AS DOUBLE) FROM my_table;
```
输出结果如下:
```
+-------+------+------------------+
| a | b | cast(a / b as double) |
+-------+------+------------------+
| 10.50 | 2.00 | 5.250000 |
| 8.75 | 0.25 | 35.000000 |
+-------+------+------------------+
```