hive/impala - 插入的小数显示为空

hive/impala - inserted decimal showed as null

我将 table 创建为

create table test ( x decimal(5,2)) 

然后我尝试插入一个值

insert into test values ( cast( 1000.2  as decimal(5,2) ) );
insert into test values ( cast('2000.3' as decimal(5,2) ) );
insert into test values ( cast('3000,4' as decimal(5,2) ) );

但最终 select * from test; 返回了 3x NULL 值。

我做错了什么?我不敢相信上述任何陈述都不起作用。

我在最近的 Cloudera 快速启动 VM 中使用 impala。

精度是数字中的位数。比例是数字中小数点右边的位数。例如,数字 123.45 的精度为 5,小数位数为 2

select cast(1000.2 as decimal(5,1)) as a, 
       cast(1000.2 as decimal(5,2)) as b,
       cast(1000.2 as decimal(6,2)) as c

会给你

a   1000.2
b   NULL
c   1000.2