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

时间:2024-04-10 09:06:17

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);  -- 3
    select 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_2499100.html