我创建了表格为
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;
返回3倍空值。
我在做错什么?我不敢相信上述任何陈述不起作用。
我在最近的Cloudera QuickStart 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