在 Cloudera 中将 0 更改为 NULL
Change 0 to NULL in Cloudera
我正在寻找一种解决方案,将变量的所有属性从 0 值更改为 NULL,反之亦然,以保持数据集一致
例如:
everyday_banking
0
NULL
NULL
NULL
0
0
0
0
0
0
0
0
0
0
0
NULL
NULL
NULL
如何在创建 table 语句中完成,因为我有很多
CREATE TABLE new
AS SELECT
customer_number,
everyday_banking,
insurance
from old;
使用 Cast 或者在 Cloudera 中需要如何完成?
您可以为此使用更新语句,在您创建并填充 table 之后。要将所有 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;
试试这个:
CREATE TABLE new AS SELECT customer_number, COALESCE(everyday_banking,0), insurance from old;
我正在寻找一种解决方案,将变量的所有属性从 0 值更改为 NULL,反之亦然,以保持数据集一致 例如:
everyday_banking
0
NULL
NULL
NULL
0
0
0
0
0
0
0
0
0
0
0
NULL
NULL
NULL
如何在创建 table 语句中完成,因为我有很多
CREATE TABLE new
AS SELECT
customer_number,
everyday_banking,
insurance
from old;
使用 Cast 或者在 Cloudera 中需要如何完成?
您可以为此使用更新语句,在您创建并填充 table 之后。要将所有 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;
试试这个:
CREATE TABLE new AS SELECT customer_number, COALESCE(everyday_banking,0), insurance from old;