J'ai essayé mais j'ai échoué:
mysql> select max(1,0);
ERREUR 1064 (42000): vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à la version de votre serveur MySQL pour la bonne syntaxe à utiliser près de '0)' à la ligne 1
LEAST
GREATEST
que je puisse obtenir des valeurs pour une colonne cirtainselect greatest(date1, ifnull(date2, "0000-00-00 00.00:00")) from table1 where date2 is null;
, vous obtiendrez date1.GREATEST(COALESCE(column1, 0), COALESCE(column2, 0))
Pour obtenir la valeur maximale d'une colonne sur un ensemble de lignes:
Pour obtenir la valeur maximale d'un ensemble de colonnes, littéraux ou variables pour chaque ligne:
la source
GREATEST
. Toute valeur nulle entraînera le retour de la fonction à null. Pour éviter cela, vous pouvez le faireGREATEST(COALESCE(column1, 0), COALESCE(column2, 0))
Vous pouvez utiliser la fonction GREATEST avec des champs non nullables. Si l'une de ces valeurs (ou les deux) peut être NULL, ne l'utilisez pas (le résultat peut être NULL).
Vous pouvez remplacer NULL par votre valeur par défaut préférée (si les deux valeurs sont NULL).
la source
select COALESCE(GREATEST(fieldA, fieldB),fieldA,fieldB) as maxValue
. C'est trop compliquéGREATEST(COALESCE(column1, 0), COALESCE(column2, 0))