У меня есть шестнадцатеричные строки, которые мне нужно преобразовать в двоичные строки Base-2, но я не могу заставить Impala работать последовательно.
Например,
Я ожидал бы следующее утверждение:
select conv('0020008000',16,2) union
select conv('000006040A',16,2);
Для возврата:
0000 0000 0010 0000 0000 0000 1000 0000 0000 0000
0000 0000 0000 0000 0000 0110 0000 0100 0000 1010
Однако вместо этого он возвращает:
0000 0000 0010 0000 0000 0000 1000 0000 0000 0000
1100 0000 1000 0001 010
1-е значение HEX преобразуется правильно, но во 2-й пропущены первые 21 цифры(все нули).
Может кто-нибудь объяснить, почему это происходит и как я могу исправить это поведение?