Измените 0 на NULL в Cloudera - PullRequest
       15

Измените 0 на NULL в Cloudera

0 голосов
/ 30 апреля 2018

Я ищу решение изменить все атрибуты переменной со значения 0 на NULL или наоборот, чтобы поддерживать соответствие набора данных Например:

everyday_banking
0
NULL
NULL
NULL
0
0
0
0
0
0
0
0
0
0
0
NULL
NULL
NULL

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

CREATE TABLE new
AS SELECT 
customer_number, 
everyday_banking, 
insurance
from old;

Использование Cast или как это нужно сделать в Cloudera?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Попробуйте это:

CREATE TABLE new AS SELECT customer_number, COALESCE(everyday_banking,0), insurance from old;
0 голосов
/ 30 апреля 2018

Для этого вы можете использовать оператор обновления, после , когда вы создали и заполнили свою таблицу. Чтобы заменить все NULL нулями, вы можете попробовать:

UPDATE new
SET everyday_banking = COALESCE(everyday_banking, 0);

Чтобы заменить нули на NULL, используйте выражение CASE:

UPDATE new
SET everyday_banking = CASE WHEN everyday_banking = 0 THEN NULL END;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...