sql >> Database >  >> RDS >> Oracle

LEAST() Functie in Oracle

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 elke expr nadat de eerste impliciet is geconverteerd naar het gegevenstype van de eerste expr 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.


  1. Hoe verplaats ik een tabel naar een schema in T-SQL

  2. Een rapport maken met de rapportwizard in Microsoft Access

  3. SQLAlchemy:filteren op waarden die zijn opgeslagen in de geneste lijst van het JSONB-veld

  4. Het MySQL-rootgebruikerswachtwoord instellen op OS X