PostgreSQL में आप GREATEST
. का उपयोग कर सकते हैं अभिव्यक्ति:
SELECT GREATEST(date_1, date_2, date_3, date_4, date_5, date_6) AS max_date
...
चूंकि यह मानक SQL नहीं है, यह शायद अन्य डेटाबेस में काम नहीं करेगा।
किसी भी दर पर, आप दूसरे WHEN
. के बाद से, तुलनाओं की संख्या को कम कर सकते हैं CASE
. की अभिव्यक्ति कथन का परीक्षण केवल तभी किया जाता है जब पहला 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
मुझे नहीं पता कि क्या आप इसे अधिक सुरुचिपूर्ण मानते हैं, लेकिन इसके बजाय AND
खंड आप ALL
का भी उपयोग कर सकते हैं VALUES
. के साथ अभिव्यक्ति:
WHEN date_1 >= ALL (VALUES (date_2), (date_3), (date_4), (date_5), (date_6))
THEN date_1
...