I Oracle Database er LEAST()
funktion returnerer det mindste af en liste med et eller flere udtryk.
Syntaks
Syntaksen ser sådan ud:
LEAST(expr [, expr ]...)
Den første expr
bruges til at bestemme returtypen:
- Hvis den første
expr
er numerisk, så bestemmer Oracle argumentet med den højeste numeriske forrang, konverterer implicit de resterende argumenter til den datatype før sammenligningen og returnerer den datatype. - Hvis den første
expr
er ikke numerisk, derefter hverexpr
efter den første er implicit konverteret til datatypen for den førsteexpr
før sammenligningen.
Eksempel
Her er et eksempel:
SELECT LEAST('a', 'b', 'c')
FROM DUAL;
Resultat:
a
Her er nogle flere:
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;
Resultat:
r1 r2 r3 r4 r5 _____ ______ _____ _____ _____________ A Cat 1 1 2001-12-31
Udtryk
Argumenterne kan omfatte udtryk som dette:
SELECT LEAST(2 * 3, 1 * 3)
FROM DUAL;
Resultat:
3
Datoer
Her er en sammenligning af datostrenge:
SELECT LEAST(DATE '2020-01-01', DATE '2021-01-01')
FROM DUAL;
Resultat:
01-JAN-20
Datoen returneres i datoformatet for den aktuelle session. Se, hvordan du kontrollerer datoformatet for den aktuelle session.
Nul-værdier
Hvis et argument er null
, resultatet er null
:
SET NULL 'null';
SELECT
LEAST(null, 2),
LEAST(1, null)
FROM DUAL;
Resultat:
LEAST(NULL,2) LEAST(1,NULL) ________________ ________________ null null
Som standard returnerer SQLcl og SQL*Plus et tomt mellemrum, når der opstår en null-værdi som et resultat af en SQL SELECT
erklæring.
Du kan dog bruge SET NULL
for at angive en anden streng, der skal returneres. Her specificerede jeg, at strengen null
skal returneres.
Ugyldigt argumentantal
Ringer LEAST()
uden argumenter resulterer i en fejl:
SELECT LEAST()
FROM DUAL;
Resultat:
SQL Error: ORA-00938: not enough arguments for function 00938. 00000 - "not enough arguments for function"
Du kan også bruge GREATEST()
for at returnere den største af en liste med et eller flere udtryk.