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

Funkcja GREATEST() w PostgreSQL

W PostgreSQL GREATEST() funkcja zwraca największą (lub największą) wartość z listy dowolnej liczby wyrażeń.

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

Składnia

GREATEST(value [, ...])

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

Przykład

Oto prosty przykład do zademonstrowania:

SELECT GREATEST( 3, 15, 7 );

Wynik:

15

Struny

Oto przykład, w którym wszystkie argumenty są ciągami:

SELECT GREATEST( 'Bear', 'Zebra', 'Ant' );

Wynik:

Zebra

Daty

Oto porównanie ciągów dat:

SELECT GREATEST(date '2027-01-01', date '2027-12-31');

Wynik:

2027-12-31

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 GREATEST( 3, 'Fifteen', 7 );

Wynik:

ERROR:  invalid input syntax for type integer: "Fifteen"
LINE 1: SELECT GREATEST( 3, 'Fifteen', 7 );
                            ^

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 
    GREATEST( 3, null, 7 ),
    GREATEST( null, null, null );

Wynik:

 greatest | greatest 
----------+----------
        7 | <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 GREATEST() bez żadnych argumentów powoduje błąd:

SELECT GREATEST();

Wynik:

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

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

SELECT GREATEST( 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. percentyle z danych histogramowych

  2. Nowe funkcje zgodności z Oracle w PostgresPlus Advanced Server 9.3Beta

  3. Funkcja LEAST() w PostgreSQL

  4. Jak działa funkcja CONCAT() w PostgreSQL

  5. Nie można połączyć się z Postgresem przez PHP, ale można połączyć się z wiersza poleceń i PgAdmina na innym komputerze