Den größten oder kleinsten Wert verschiedener Spalten in SQL ermitteln - GREATEST und LEAST

ab 8i

Mit der GREATEST Funktion wird der höchste Wert der Übergebenen Werte Liste zurück gegeben, mit LEAST der niedrigste Wert.

Der erste Parameter der Liste bestimmt den Datentyp!

Enthält die Liste einen Null Wert wird Null zurückgegeben.

Wird VARCHAR2 als Datentyp erkannt auf die Linguistischen Einstellungen der Umgebung achten, diese legen fest ob zum Beispiel ein Ä kleiner oder größer ein A ist.

Bei gleichen Werte wird einer der Werte zurückgegeben.

Das höchsten Wert von 3 Datumsfeldern ermitteln und die entsprechende Spalte ausgeben

Am einfachsten mit der SQL Funktion GREATEST :

SELECT CASE
          WHEN the_high_value = a
             THEN 'A Column is the greates'
          WHEN the_high_value = b
             THEN 'B Column is the greatest'
          ELSE 'C Column is the greatest'
       END
     , the_high_value
     , a
     , b
     , c
  FROM (SELECT greatest (nvl (a, sysdate - 10000)
                       , nvl (b, sysdate - 10000)
                       , nvl (c, sysdate - 10000)
                        ) the_high_value
             , a
             , b
             , c
          FROM (SELECT sysdate + dbms_random.value (1, 100) a
                     , sysdate + dbms_random.value (1, 100) b
                     , sysdate + dbms_random.value (1, 100) c
                  FROM dual))
/                  
 
 
COLUMN_NAME              THE_HIGH A        B        C       
------------------------ -------- -------- -------- --------
A COLUMN IS the greates  15.12.15 15.12.15 08.10.15 14.10.15

Quellen

Database SQL Reference: