【发布时间】:2013-01-23 15:36:37
【问题描述】:
我最近开始自学(糟糕)SQLite。令我感到恼火的一件事是 CASE 表达式,即它采用短路评估这一事实。
有没有办法解决这个问题?我正在寻找不使用短路评估的 CASE 语句。
UPDATE [table]SET [counting_column] =
(
CASE
when [column1] = NULL
then [counting_column] + 1
...
when [column31] = NULL
then [counting_column] + 1
end
)
我希望数据库中的每个条目都由每个 case 语句进行测试,而不仅仅是第一个评估为 true 的条目。任何帮助将不胜感激。
注意:如果有一些明显的错误,我深表歉意——我对此很陌生,所以请放轻松。
【问题讨论】:
-
您能举一个需要非短路评估的例子吗?
-
取决于你想要做什么——如果需要,你可以在彼此内部有多个案例...示例数据,期望的结果——也许我们可以提供帮助。
-
感谢您的回复。我将我的问题编辑得更具体,抱歉含糊不清。
标签: sql sqlite case short-circuiting