SQLite - 范围内的值

时间:2009-04-15 20:05:44

标签: sqlite

我正在使用以下语句更新我的表:

UPDATE table SET percentage = percentage + ? WHERE id = ?

传递给数据库的值也可能是正面和负面的。

有没有办法确保百分比值位于0..100的范围内?希望只使用SQLite来实现它。

如果小于0我想让它为0;如果它超过100我想让它100。

我可以通过我的C代码完成它,但最好通过SQLite完成它。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

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

如果你不使用where子句,你将设置整个表的百分比,这可能是你想要的。

但是,百分比大于100或小于零可能是合法的;我不知道你的问题域。