PostgreSQL SQLでマイナスなら0にしたい場合

ショコラ
ショコラ

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

以上

Scroll to Top