Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQLite-范围内的值_Sqlite - Fatal编程技术网

SQLite-范围内的值

SQLite-范围内的值,sqlite,Sqlite,我正在用以下语句更新我的表: UPDATE table SET percentage = percentage + ? WHERE id = ? 传递给数据库的值可能是正的,也可能是负的 有没有办法确保百分比值在0到100之间?只使用SQLite就可以实现它 如果它小于0,我想使它为0;如果超过100,我想让它变成100 我可以通过我的C代码来完成,但最好是通过SQLite来完成 提前感谢。更新表格设置百分比 UPDATE table SET percentage = case when p

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

UPDATE table SET percentage = percentage + ? WHERE id = ?
传递给数据库的值可能是正的,也可能是负的

有没有办法确保百分比值在0到100之间?只使用SQLite就可以实现它

如果它小于0,我想使它为0;如果超过100,我想让它变成100

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

提前感谢。

更新表格设置百分比
UPDATE table SET percentage 
= case when percentage < 0 then 0 
  when percentage > 100 then 100 
  else percentage end
WHERE id = ?;
=百分比小于0时的情况,然后为0 当百分比>100时,则为100 其他百分比结束 其中id=?;
如果不使用
where
子句,您将为整个表设置百分比,这大概就是您想要的


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

谢谢,我做了以下操作:“更新表集百分比=大小写当(百分比+?)<0然后0当(百分比+?)>100然后100其他(百分比+?)结束在word_id=?”;是否必须为所有3个符号“”绑定相同的值?或者有一种方法可以做一次?你不需要绑定除id之外的任何东西。使用我给你的/as is/语句。或者可以省略where子句,然后使用它。