MySQL stöder en funktion som heter GREATEST()
. Den returnerar det största värdet bland en lista över dess argument.
UPDATE person SET dollars = GREATEST(0, dollars-20) WHERE id=1
Detta är inte en standardfunktion i ANSI SQL, så räkna inte med att den är tillgänglig i andra märken av SQL-databaser. Om du behöver en leverantörsoberoende lösning, använd CASE
syntax som andra föreslagit. Men om allt du behöver använda är MySQL, är den här funktionen mer kortfattad.