2009-04-15 15 views
0

での値は、私は、次の文を使用して、私のテーブルを更新しています。SQLiteの範囲

パーセント値が0..100の範囲にあることを確認する方法はありますか?それを達成することが望ましく、SQLiteだけを使用します。

0より小さい場合は0にします。 100以上の場合は100にしたいと思います。

私のCコードではできますが、SQLiteで処理する方が良いでしょう。

ありがとうございます。

答えて

1
UPDATE table SET percentage 
= case when percentage < 0 then 0 
    when percentage > 100 then 100 
    else percentage end 
WHERE id = ?; 

あなたがwhere句をオフのままにした場合、あなたが望むものと推測されている、テーブル全体のための割合を設定します。

ただし、100を超えるかゼロ未満が正当である可能性があります。私はあなたの問題のドメインを知らない。

+0

ありがとうございます、私は次のようにしました: "WHEN(パーセント+?)<0次にWHEN(パーセント+?)> 100そして100 ELSE(パーセント+?)END WHERE word_id =? ; 3つのシンボルすべてに同じ値をバインドする必要がありますか? ?あるいはそれを一度行う方法がありますか? –

+0

id以外のものはバインドする必要はありません。私があなたに与えた/現状の/というステートメントを使用してください。または、where句を省略して使用することもできます。 – tpdi