Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL MAX()-Funktion zum Vergleichen numerischer Werte in einem Update?

MySQL unterstützt eine Funktion namens GREATEST() . Es gibt den größten Wert aus einer Liste seiner Argumente zurück.

UPDATE person SET dollars = GREATEST(0, dollars-20) WHERE id=1

Dies ist keine Standardfunktion in ANSI SQL, verlassen Sie sich also nicht darauf, dass sie in anderen Marken von SQL-Datenbanken verfügbar ist. Wenn Sie eine herstellerunabhängige Lösung benötigen, verwenden Sie den CASE von anderen vorgeschlagene Syntax. Aber wenn Sie nur MySQL verwenden müssen, ist diese Funktion prägnanter.