PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Funkcja LEAST() w PostgreSQL

W PostgreSQL LEAST() funkcja zwraca najmniejszą wartość z listy dowolnej liczby wyrażeń.

LEAST() funkcja nie jest zawarta w standardzie SQL, ale jest popularnym rozszerzeniem, które obsługuje wiele głównych RDBMS.

Składnia

LEAST(value [, ...])

Zasadniczo oznacza to, że możemy przekazać do funkcji jedną lub więcej wartości.

Przykład

Oto prosty przykład do zademonstrowania:

SELECT LEAST( 5, 2, 9 );

Wynik:

2

Wspólny typ danych

Wszystkie wyrażenia muszą być konwertowalne na wspólny typ danych. Wynik użyje tego typu.

Jeśli wyrażeń nie można przekonwertować na typowy typ danych, pojawia się błąd:

SELECT LEAST( 5, 'Two', 9 );

Wynik:

ERROR:  invalid input syntax for type integer: "Two"
LINE 1: SELECT LEAST( 5, 'Two', 9 );
                         ^

Struny

Poprzedni przykład nie sugeruje, że nie możemy używać łańcuchów. To tylko po to, by pokazać, że nie możemy konwertować typów danych.

Aby zademonstrować, oto przykład, w którym wszystkie argumenty są ciągami:

SELECT LEAST( 'Cat', 'Dog', 'Aardvark' );

Wynik:

Aardvark

Daty

Oto porównanie ciągów dat:

SELECT LEAST(date '2030-01-01', date '2030-12-31');

Wynik:

2030-01-01

Wartości puste

Wartości null są ignorowane, chyba że wszystkie wyrażenia mają wartość null . Jeśli wszystkie wyrażenia są null , a następnie null jest zwracany:

\pset null '<null>'
SELECT 
    LEAST( 5, null, 9 ),
    LEAST( null, null, null );

Wynik:

 least | least  
-------+--------
     5 | <null>

Domyślnie psql zwraca pusty ciąg na wartości null. W pierwszym wierszu tego przykładu ustawiłem wartości null na wyjście <null> aby ułatwić nam zobaczenie wyniku zerowego.

Brakujące argumenty

Wywołanie LEAST() bez żadnych argumentów powoduje błąd:

SELECT LEAST();

Wynik:

ERROR:  syntax error at or near ")"
LINE 1: SELECT LEAST();
                     ^

Możemy jednak przekazać jeden argument bez błędu:

SELECT LEAST( 1 );

Wynik:

1

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nowe funkcje zgodności z Oracle w PostgresPlus Advanced Server 9.3Beta

  2. Najważniejsze zagrożenia bezpieczeństwa PostgreSQL

  3. Zapomniany operator przypisania =i banał :=

  4. Czy gwarantowane jest zachowanie porządku w podzapytaniu?

  5. lokalne połączenie docker postgres pgadmin