MySQL obsługuje funkcję o nazwie GREATEST()
. Zwraca największą wartość z listy swoich argumentów.
UPDATE person SET dollars = GREATEST(0, dollars-20) WHERE id=1
Nie jest to standardowa funkcja w ANSI SQL, więc nie licz na to, że będzie dostępna w bazach danych SQL innych marek. Jeśli potrzebujesz rozwiązania niezależnego od dostawcy, użyj CASE
składnia sugerowana przez innych. Ale jeśli wszystko, czego potrzebujesz, to MySQL, ta funkcja jest bardziej zwięzła.