In PostgreSQL, il LEAST()
La funzione restituisce il valore più piccolo da un elenco di qualsiasi numero di espressioni.
Il LEAST()
La funzione non è inclusa nello standard SQL, ma è un'estensione popolare supportata da molti dei principali RDBMS.
Sintassi
LEAST(value [, ...])
Ciò significa sostanzialmente che possiamo passare uno o più valori alla funzione.
Esempio
Ecco un semplice esempio da dimostrare:
SELECT LEAST( 5, 2, 9 );
Risultato:
2
Tipo di dati comune
Le espressioni devono essere tutte convertibili in un tipo di dati comune. Il risultato utilizzerà questo tipo.
Se le espressioni non possono essere convertite in un tipo di dati comune, si verifica un errore:
SELECT LEAST( 5, 'Two', 9 );
Risultato:
ERROR: invalid input syntax for type integer: "Two" LINE 1: SELECT LEAST( 5, 'Two', 9 ); ^
Stringhe
L'esempio precedente non vuole suggerire che non possiamo usare le stringhe. È semplicemente per mostrare che non possiamo convertire i tipi di dati.
Per dimostrare, ecco un esempio in cui tutti gli argomenti sono stringhe:
SELECT LEAST( 'Cat', 'Dog', 'Aardvark' );
Risultato:
Aardvark
Date
Ecco un confronto delle stringhe di data:
SELECT LEAST(date '2030-01-01', date '2030-12-31');
Risultato:
2030-01-01
Valori Nulli
I valori Null vengono ignorati a meno che tutte le espressioni non siano null
. Se tutte le espressioni sono null
, quindi null
viene restituito:
\pset null '<null>'
SELECT
LEAST( 5, null, 9 ),
LEAST( null, null, null );
Risultato:
least | least -------+-------- 5 | <null>
Per impostazione predefinita, psql restituisce la stringa vuota su valori null. Nella prima riga di questo esempio ho impostato valori null per l'output <null>
in modo che ci sia più facile vedere il risultato nullo.
Argomenti mancanti
Chiamando LEAST()
senza alcun argomento genera un errore:
SELECT LEAST();
Risultato:
ERROR: syntax error at or near ")" LINE 1: SELECT LEAST(); ^
Tuttavia, possiamo passare un argomento senza errori:
SELECT LEAST( 1 );
Risultato:
1