SQL> select least(1,-2,4,3) value from dual;     VALUE
----------
        -2
least求最小值
不是nul(),是nvl()
nvl(id,0) 如果id中的值为空null,则用0代替显示

解决方案 »

  1.   

    SQL> select least(-100,0,1,100) from dual;LEAST(-100,0,1,100)
    -------------------
                   -100SQL> select nvl(null,0) from dual;NVL(NULL,0)
    -----------
              0SQL> select nvl(null,1) from dual;NVL(NULL,1)
    -----------
              1
      

  2.   

    LEAST(EXP1[,EXP2[,...[EXPn]]]) 返回exp1到expn中的最小值,
    例如:
    SELECT LEAST('ABCD','abcd','ABC','AB') FROM DUAL;
    LE
    --
    AB
    注意:如果exp1和后面的类型不同,后面的类型会转换为exp1的类型NVL(EXP1,EXP2) 返回第一个不为空的值
    例如:
    SELECT NVL('TEST',7) "FRIST" ,NVL(NULL,'OK') "SECOND" FROM DUAL;
    FRIST               SECOND
    -------------------------------
    TEST                  OK
      

  3.   

    LEAST
    参见:
    GREATEST, GREATEST_LB,
    LEAST_LB
    语法:
    LEAST (expn1 [, expn2] ...)
    变量:
    expn:任何一个有效的表达式或列。
    例子:
    SQL
    SELECT LEAST(‘JOHN’, ‘JONNY’, ‘JANARTHAN’) “LEAST” FROM DUAL;
    LEAST
    JANARTHANNVL
    参见:
    函数 NULL
    语法:
    NVL (value, substitute)
    变量:
    value::任何一种类型的变量,包括 CHAR, VARCHAR2, NUMBER, DATE, 和其它。
    substitute: 与 value相同类型的变量,如果substitute 的类型与value不一样此函数就会首先对它进行类型转换。
    例子:
    SQL
    SELECT NVL(SALES_AGENT, ‘AGENT NAME NOT AVAILABLE’) “NAMES OF
    SALES AGENT” FROM SALES;
    NAMES OF SALES AGENT
    -----------------------------------
    JOHN HOPKINS
    MICHAEL JORDAN
    AGENT NAME NOT AVAILABLE