In Oracle Database, de LEAST()
functie retourneert de minste van een lijst van een of meer uitdrukkingen.
Syntaxis
De syntaxis gaat als volgt:
LEAST(expr [, expr ]...)
De eerste expr
wordt gebruikt om het retourtype te bepalen:
- Als de eerste
expr
numeriek is, bepaalt Oracle het argument met de hoogste numerieke prioriteit, converteert het impliciet de resterende argumenten naar dat gegevenstype vóór de vergelijking en retourneert dat gegevenstype. - Als de eerste
expr
is niet numeriek, dan elkeexpr
nadat de eerste impliciet is geconverteerd naar het gegevenstype van de eersteexpr
voor de vergelijking.
Voorbeeld
Hier is een voorbeeld:
SELECT LEAST('a', 'b', 'c')
FROM DUAL;
Resultaat:
a
Hier zijn er nog meer:
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;
Resultaat:
r1 r2 r3 r4 r5 _____ ______ _____ _____ _____________ A Cat 1 1 2001-12-31
Uitdrukkingen
De argumenten kunnen uitdrukkingen als deze bevatten:
SELECT LEAST(2 * 3, 1 * 3)
FROM DUAL;
Resultaat:
3
Datums
Hier is een vergelijking van datumreeksen:
SELECT LEAST(DATE '2020-01-01', DATE '2021-01-01')
FROM DUAL;
Resultaat:
01-JAN-20
De datum wordt geretourneerd in de datumnotatie van de huidige sessie. Zie Hoe u de datumnotatie van de huidige sessie kunt controleren.
Null-waarden
Als een argument null
is , het resultaat is null
:
SET NULL 'null';
SELECT
LEAST(null, 2),
LEAST(1, null)
FROM DUAL;
Resultaat:
LEAST(NULL,2) LEAST(1,NULL) ________________ ________________ null null
Standaard retourneren SQLcl en SQL*Plus een spatie wanneer een null-waarde optreedt als resultaat van een SQL SELECT
verklaring.
U kunt echter SET NULL
gebruiken om een andere tekenreeks op te geven die moet worden geretourneerd. Hier heb ik gespecificeerd dat de string null
moet worden geretourneerd.
Ongeldig aantal argumenten
Belt LEAST()
zonder argumenten resulteert in een fout:
SELECT LEAST()
FROM DUAL;
Resultaat:
SQL Error: ORA-00938: not enough arguments for function 00938. 00000 - "not enough arguments for function"
U kunt ook GREATEST()
. gebruiken om de grootste van een lijst met een of meer uitdrukkingen te retourneren.