
ショコラ
PostgreSQL SQLでマイナスなら0にしたい場合
こんな感じかなぁ~

もっさん先輩
CASEを使って更新する場合。
UPDATE t SET num=(CASE WHEN COALESCE(num,0) - 1 < 0 THEN 0 ELSE COALESCE(num,0) - 1 END);
WHERE を使って1以上というのもありですね。この場合、他のカラムを更新することはできません。
UPDATE t SET num=COALESCE(num,0) - 1 WHERE num >= 1
以上