例如,我有3列,sidea
,sideb
和sidec
。我正在做的是:
CREATE TABLE triangle (
sidea DOUBLE,
sideb DOUBLE,
sidec DOUBLE AS (sidea - sideb)
);
但对于sidea
,某些单元格包含NULL
值。以上代码的结果是NULL-(some number)=(some number)
。
如果sidec
或NULL
中的任何单元格包含sidea
,任何人都知道如何让sideb
成为NULL
?
谢谢。
答案 0 :(得分:0)
您可以将CREATE TABLE
脚本修改为以下内容:
在第三列中,您可能需要像CASE WHEN sidea IS Null OR sideb IS Null THEN Null ELSE (sidea-sideb)
最后,您的CREATE TABLE脚本将更改为:
CREATE TABLE triangle (
sidea DOUBLE,
sideb DOUBLE,
sidec DOUBLE AS (CASE WHEN sidea IS Null OR sideb IS Null THEN Null ELSE (sidea-sideb) END)
);
CASE
语句允许您分配值NULL
,如果其中一个列值(即sidea
或sideb
为NULL,则指定sidec
值NULL)。
希望这有帮助!