Oracle
 sql >> Database >  >> RDS >> Oracle

LEAST() Funzione in Oracle

In Oracle Database, LEAST() la funzione restituisce il minimo di un elenco di una o più espressioni.

Sintassi

La sintassi è questa:

LEAST(expr [, expr ]...)

Il primo expr viene utilizzato per determinare il tipo di restituzione:

  • Se il primo expr è numerico, quindi Oracle determina l'argomento con la precedenza numerica più alta, converte implicitamente gli argomenti rimanenti in quel tipo di dati prima del confronto e restituisce quel tipo di dati.
  • Se il primo expr è non numerico, quindi ogni expr dopo che il primo è stato convertito implicitamente nel tipo di dati del primo expr prima del confronto.

Esempio

Ecco un esempio:

SELECT LEAST('a', 'b', 'c')
FROM DUAL;

Risultato:

a

Eccone altri:

SELECT 
    LEAST('A', 'a') AS "r1",
    LEAST('Cat', 'Dog', 'Dot') AS "r2",
    LEAST(1, 2, 3) AS "r3",
    LEAST(1, '2', 3) AS "r4",
    LEAST('Cat', '2001-12-31') AS "r5"
FROM DUAL;

Risultato:

   r1     r2    r3    r4            r5 
_____ ______ _____ _____ _____________ 
A     Cat        1     1 2001-12-31   

Espressioni

Gli argomenti possono includere espressioni come questa:

SELECT LEAST(2 * 3, 1 * 3)
FROM DUAL;

Risultato:

3

Date

Ecco un confronto delle stringhe di data:

SELECT LEAST(DATE '2020-01-01', DATE '2021-01-01')
FROM DUAL;

Risultato:

01-JAN-20

La data viene restituita nel formato data della sessione corrente. Vedi Come controllare il formato della data della sessione corrente.

Valori nulli

Se un argomento è null , il risultato è null :

SET NULL 'null';
SELECT 
    LEAST(null, 2),
    LEAST(1, null)
FROM DUAL;

Risultato:

   LEAST(NULL,2)    LEAST(1,NULL) 
________________ ________________ 
null                         null

Per impostazione predefinita, SQLcl e SQL*Plus restituiscono uno spazio vuoto ogni volta che si verifica un valore nullo come risultato di un SQL SELECT dichiarazione.

Tuttavia, puoi usare SET NULL per specificare una stringa diversa da restituire. Qui ho specificato che la stringa null deve essere restituito.

Conteggio argomenti non valido

Chiamando LEAST() senza alcun argomento genera un errore:

SELECT LEAST()
FROM DUAL;

Risultato:

SQL Error: ORA-00938: not enough arguments for function
00938. 00000 -  "not enough arguments for function"

Puoi anche usare GREATEST() per restituire il massimo di un elenco di una o più espressioni.