嗨,我正在尝试对where子句进行验证。但是,只有在满足特定条件时,才需要存在此验证,否则我就不需要此验证。
我尝试过,但没有得到预期的输出。也许我错过了什么?请帮助
WHERE (CASE
WHEN 1 = (SELECT DECODE (PARAMETER_VALUE, 'FALSE', 1, 2)
FROM TABLE_A
WHERE PARAMETER_NAME = 'STUDENT_STATUS')
THEN
INVALID_STAT
ELSE
' '
END) = 'Y'
答案 0 :(得分:0)
如何将最后一个' '
替换为'Y'
。因此,当查询返回结果时,它将转换为
WHERE INVALID_STAT = 'Y'
当查询不返回任何结果时,它将转换为-
WHERE 'Y' = 'Y'
因此忽略条件。