MySQLは、 GREATEST()
。引数のリストの中で最大の値を返します。
UPDATE person SET dollars = GREATEST(0, dollars-20) WHERE id=1
これはANSISQLの標準関数ではないため、他のブランドのSQLデータベースで使用できることを期待しないでください。ベンダーに依存しないソリューションが必要な場合は、CASE
を使用してください 他の人が提案した構文。ただし、使用する必要があるのがMySQLだけの場合、この関数はより簡潔です。