【发布时间】:2010-12-21 14:30:16
【问题描述】:
我有一个程序接收一个名为@FL_FINALIZADA 的位变量。
如果它是 null 或 false,我想限制我的选择只显示包含 null DT_FINALIZACAO 值的行。否则我想显示不包含 DT_FINALIZACAO 值的行。
类似这样的:
SELECT
*
FROM
MyTable
WHERE
...
AND
(
OPE.DT_FINALIZACAO = (
CASE
WHEN (@FL_FINALIZADA <> 1)
THEN NULL
END
) OR
OPE.DT_FINALIZACAO IS NOT NULL
)
在这种情况下,我收到消息:
a 中没有结果表达式
CASE规范可以是NULL。
我怎样才能做到这一点?
提前致谢。
【问题讨论】:
-
我不知道为什么在这个例子中你需要 case 语句。
标签: sql sql-server stored-procedures case