2009-10-27 10 views
5

Ich versuche, so etwas zu tun:Wie bekomme ich den größten von zwei Spaltenwerten in MySQL?

SELECT MAX(
    ADDDATE(expirationdate, INTERVAL 1 YEAR), 
    ADDDATE(now(), INTERVAL 1 YEAR) 
) 

Das heißt, erhalten „ein Jahr ab jetzt“ oder „ein Jahr von dem in der Tabelle gespeicherten Ablaufdatum“, je nachdem, was größer ist (i‘ (Ich erneuere die Abonnements von Leuten).

Dies funktioniert offensichtlich nicht, da MAX() für die Aggregation zwischen Zeilen dient, nicht für den Vergleich von 2 Werten. Gibt es eine Funktion, die das in MySQL tut? (ich möchte vermeiden, eine IF zu tun)

Antwort

16
+0

Vielen Dank! Ich habe versucht "größte" und "maximale" und sie haben nicht funktioniert. Vielen Dank! –

+0

FYI - das Gegenteil von 'greatest()' ist 'least()' – s2t2

Verwandte Themen