全!我想知道如何编写这段SQL代码,我已经试过了,但我得到了消息错误。我写的这个SQL有两种不同的方式。下面见
SELECT *
FROM tabela
WHERE coluna IN (CASE WHEN 1 = :parametro THEN 1 WHEN 0 = :parametro THEN (2, 3) END)和
SELECT *
FROM tabela
WHERE (CASE WHEN 1 = :parametro THEN coluna = 1 WHEN 0 = :parametro THEN coluna <> 1 END)我试着跑,但它出错了。请!您可以帮助对此代码进行勾选或修复。
非常感谢。
你好,吉森·佩雷拉
发布于 2013-08-27 00:31:36
一种选择是
SELECT *
FROM tabela
WHERE 'OK' =
CASE WHEN 1 = :parametro and coluna = 1 then 'OK'
WHEN 0 = :parametro and coluna in (2, 3) THEN 'OK'
END发布于 2013-08-26 16:34:44
你可以不用CASE就能做到
SELECT *
FROM tabela
WHERE (:parametro = 1 AND coluna = 1)
OR (:parametro = 0 AND coluna <> 1 )https://dba.stackexchange.com/questions/48744
复制相似问题