улей / импала - вставленный десятичный знак показывается как ноль - PullRequest
0 голосов
/ 07 мая 2019

Я создал таблицу как

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.

Что я делаю не так? Я не могу поверить, что любое из вышеупомянутых утверждений не работает.

Я использую Impala на недавнем быстром старте Cloudera VM .

1 Ответ

1 голос
/ 07 мая 2019

Точность - это количество цифр в числе.Шкала - это число цифр справа от десятичной точки в числе.Например, число 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
...