【发布时间】:2014-04-03 18:36:48
【问题描述】:
我知道我可以通过轻松地将两个完整的语句放入 CASE 语句本身来实现这一点,但我是 SQL 新手,并试图学习以最有效和最智能的方式编写它,而无需重复任何逻辑,所以我图也许有一种方法可以让我基本上打开或关闭 where 条件线。
我有以下语句(顺便说一句,它不起作用,缺少它说的关键字):
OPEN O_CURSOR FOR
SELECT S.STORE_NO_4_DIGIT AS STORE_NO, S.STORE_NAME
FROM RFS.RF_STORE S
WHERE S.TYPE_CODE != 'W'
AND
CASE I_CAN_BE_CLOSED
WHEN 0 THEN
S.CLOSE_DATE IS NULL
END
ORDER BY S.STORE_NO_4_DIGIT;
有两种情况基于输入变量 I_CAN_BE_CLOSED,值为 0 或 1。
在一种情况下,我希望允许它返回只有 NULL CLOSE_DATES 的商店,而在另一种情况下,我希望它返回任何一种(关闭和非关闭商店)。
【问题讨论】: