2016-11-24 5 views
1

私はこれに類似したクエリを持っている:最小の結果が0のMySQLフィールドからどのように減算するか?

UPDATE mytable SET count = count - 2 

数2は可変です。フィールドカウントは決してゼロより小さくなることはありません。

どうすればよいですか?対応

UPDATE mytable SET count = case when count >= 2 then count - 2 else 0 end 

ANSI SQL、すなわち、それは基本的に任意のDBMS製品で実行されます:

答えて

5

case表現を使用してください!

+0

ありがとうございました!できます。 – Z0q

1

あなたはこれを使用することができます。

UPDATE mytable SET count = GREATEST(0, count - 2); 
+0

私はこれが好きです。それは、2が変数であるとすれば、私はより読みやすく、失敗の点は少なくなります。 – Arth

関連する問題