In der Oracle-Datenbank das LEAST()
Funktion gibt den kleinsten einer Liste von einem oder mehreren Ausdrücken zurück.
Syntax
Die Syntax lautet wie folgt:
LEAST(expr [, expr ]...)
Der erste expr
wird verwendet, um den Rückgabetyp zu bestimmen:
- Wenn der erste
expr
numerisch ist, bestimmt Oracle das Argument mit dem höchsten numerischen Vorrang, wandelt die verbleibenden Argumente vor dem Vergleich implizit in diesen Datentyp um und gibt diesen Datentyp zurück. - Wenn der erste
expr
ist nicht numerisch, dann jederexpr
nach dem ersten wird implizit in den Datentyp des erstenexpr
konvertiert vor dem Vergleich.
Beispiel
Hier ist ein Beispiel:
SELECT LEAST('a', 'b', 'c')
FROM DUAL;
Ergebnis:
a
Hier sind noch einige:
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;
Ergebnis:
r1 r2 r3 r4 r5 _____ ______ _____ _____ _____________ A Cat 1 1 2001-12-31
Ausdrücke
Die Argumente können Ausdrücke wie diesen enthalten:
SELECT LEAST(2 * 3, 1 * 3)
FROM DUAL;
Ergebnis:
3
Daten
Hier ist ein Vergleich von Datumszeichenfolgen:
SELECT LEAST(DATE '2020-01-01', DATE '2021-01-01')
FROM DUAL;
Ergebnis:
01-JAN-20
Das Datum wird im Datumsformat der aktuellen Sitzung zurückgegeben. Siehe So überprüfen Sie das Datumsformat der aktuellen Sitzung.
Nullwerte
Wenn ein Argument null
ist , ist das Ergebnis null
:
SET NULL 'null';
SELECT
LEAST(null, 2),
LEAST(1, null)
FROM DUAL;
Ergebnis:
LEAST(NULL,2) LEAST(1,NULL) ________________ ________________ null null
Standardmäßig geben SQLcl und SQL*Plus ein Leerzeichen zurück, wenn als Ergebnis eines SQL-SELECT
ein Nullwert auftritt Aussage.
Sie können jedoch SET NULL
verwenden um eine andere Zeichenfolge anzugeben, die zurückgegeben werden soll. Hier habe ich angegeben, dass der String null
zurückgegeben werden soll.
Ungültige Argumentanzahl
Aufruf von LEAST()
ohne Argumente führt zu einem Fehler:
SELECT LEAST()
FROM DUAL;
Ergebnis:
SQL Error: ORA-00938: not enough arguments for function 00938. 00000 - "not enough arguments for function"
Sie können auch GREATEST()
verwenden um den größten einer Liste von einem oder mehreren Ausdrücken zurückzugeben.