2009-10-27 10 views
5

Je suis en train de faire quelque chose comme ceci:Comment obtenir le meilleur des valeurs de deux colonnes dans MySQL?

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

C'est, obtenir « un an », ou « un an à compter de la date d'expiration stockées dans la table », selon le plus élevé (i » m renouveler les abonnements de personnes).

Cela ne fonctionne évidemment pas, puisque MAX() est pour l'agrégation entre les lignes, pas pour comparer 2 valeurs. Y at-il une fonction qui va le faire dans MySQL? (Je voudrais éviter de faire un IF)

Répondre

16
+0

Merci! J'ai essayé "le plus grand" et "maximum" et ils n'ont pas fonctionné. Merci! –

+0

FYI - le contraire de 'greater()' est 'least()' – s2t2