Di PostgreSQL Anda dapat menggunakan GREATEST ekspresi:
SELECT GREATEST(date_1, date_2, date_3, date_4, date_5, date_6) AS max_date
...
Karena itu bukan SQL standar, mungkin tidak akan berfungsi di database lain.
Bagaimanapun, Anda dapat mengurangi jumlah perbandingan, sejak WHEN kedua ekspresi CASE pernyataan hanya diuji jika yang pertama tidak TRUE :
CASE
WHEN date_1 >= date_2 AND date_1 >= date_3 AND date_1 >= date_4 AND date_1 >= date_5 AND date_1 >= date_6
THEN date_1
WHEN date_2 >= date_3 AND date_2 >= date_4 AND date_2 >= date_5 AND date_2 >= date_6
THEN date_2
WHEN date_3 >= date_4 AND date_3 >= date_5 AND date_3 >= date_6
THEN date_3
WHEN date_4 >= date_5 AND date_4 >= date_6
THEN date_4
WHEN date_5 >= date_6
THEN date_5
ELSE date_6
END
Saya tidak tahu apakah Anda menganggap itu lebih elegan, tetapi alih-alih AND klausa Anda juga bisa menggunakan ALL dengan VALUES ekspresi:
WHEN date_1 >= ALL (VALUES (date_2), (date_3), (date_4), (date_5), (date_6))
THEN date_1
...