MapReduce服务 MRS-条件表达式:NULLIF

时间:2023-11-01 16:25:24

NULLIF

  • nullif(value1, value2)

    如果value1与value2相等,返回NULL;否则返回value1 。

    select nullif(a,b) from (values (1,1),(1,2)) as t(a,b); -- _col0 -------  NULL      1 (2 rows)
  • ZEROIFNULL(value)

    如果value为null,返回0,否则返回原值。目前支持数值类型还有varchar类型。

    select zeroifnull(a),zeroifnull(b),zeroifnull(c) from (values (null,13.11,bigint '157'),(88,null,bigint '188'),(55,14.11,null)) as t(a,b,c); _col0 | _col1 | _col2 -------|-------|-------     0 | 13.11 |   157     88 |  0.00 |   188     55 | 14.11 |     0 (3 rows)
  • NVL(value1,value2)

    如果value1为NULL,返回value2,否则,返回value1。

    select nvl(NULL,3);  -- 3select nvl(2,3);    --2
  • ISNULL(value)

    如果value1为NULL,返回true,否则返回false。

    Create table nulltest(col1 int,col2 int);insert into nulltest values(null,3);select isnull(col1),isnull(col2) from nulltest; _col0 | _col1 -------|------- true  | false (1 row)
  • ISNOTNULL(value)
    如果value1为NULL,返回false,否则返回true。
    select isnotnull(col1),isnotnull(col2) from nulltest; _col0 | _col1 -------|------- false | true  (1 row)
support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_249103.html