Улей - пустая строка не сохраняется - PullRequest
0 голосов
/ 18 февраля 2019

Когда я вставляю данные, содержащие пустую строку в таблицу A, а затем выполняю

select * from tableA;

, я вижу, что пустая строка заменяется значением NULL.

Как сохранитьпустые строковые значения вместо значений NULL?

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

только что обнаружил ... Причина в том, что когда вставка выполняется с пустым значением в поле, которое ожидает строку, то пустое значение сохраняется, но когда поле ожидает что-то, отличное от строки, например, еслиполе ожидает получения целого числа, затем пустое значение вставляется как значение NULL.

0 голосов
/ 18 февраля 2019

вы должны получить пустую строку, не ноль.

hive> create temporary table t1 as select '' as c1, 
' ' as c2; --- ' ' space
Time taken: 0.145 seconds, Fetched: 1 row(s)
hive> select concat('|',c1, '|', c2, '|') from t1;
OK
|| |
Time taken: 0.319 seconds, Fetched: 1 row(s)

hive> insert into t1 values ('  ', '   '); -- multiple spaces
Time taken: 13.6 seconds
hive> select concat('|',c1, '|', c2, '|') from t1;
OK
|| |
|  |   |
Time taken: 0.136 seconds, Fetched: 2 row(s)
...