在Cloudera中将0更改为NULL

时间:2018-04-30 06:46:39

标签: sql cloudera-cdh

我正在寻找一种解决方案,将变量的所有属性从0值更改为NULL,反之亦然,以保持数据集符合 例如:

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

如何在create table语句中完成,因为我有很多

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

使用Cast或者如何在Cloudera中完成?

2 个答案:

答案 0 :(得分:1)

试试这个:

CREATE TABLE new AS SELECT customer_number, COALESCE(everyday_banking,0), insurance from old;

答案 1 :(得分:0)

您可以使用更新语句,在之后创建并填充表格。要将所有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;