函數說明:
NVL:給值為NULL的數據賦值,它的格式是NVL( value,default_value)。
它的功能是如果value為NULL,則NVL函數返回default_value的值,否則返回value的值,如果兩個參數都為NULL ,則返回NULL。
數據准備:
創建員工表:
導入數據:
查詢:如果員工的comm為NULL,則用-1代替:
hive (default)> select comm,nvl(comm, -1) from emp; OK comm _c1 NULL -1.0 300.0 300.0 500.0 500.0 NULL -1.0 1400.0 1400.0 NULL -1.0 NULL -1.0 NULL -1.0 NULL -1.0 0.0 0.0 NULL -1.0 NULL -1.0 NULL -1.0 NULL -1.0
查詢:如果員工的comm為NULL,則用領導id代替
hive (default)> select comm, nvl(comm,mgr) from emp; OK comm _c1 NULL 7902.0 300.0 300.0 500.0 500.0 NULL 7839.0 1400.0 1400.0 NULL 7839.0 NULL 7839.0 NULL 7566.0 NULL NULL 0.0 0.0 NULL 7788.0 NULL 7698.0 NULL 7566.0 NULL 7782.0