How to get min/max of two integers in Postgres/SQL?
Have a look at GREATEST and LEAST.
UPDATE my_table
SET my_column = GREATEST(my_column - 10, 0);
You want the inline sql case
:
set my_column = case when my_column - 10 > 0 then my_column - 10 else 0 end
max()
is an aggregate function and gets the maximum of a row of a result set.
Edit: oops, didn't know about greatest
and least
in postgres. Use that instead.