-1

我不确定为什么下面的 case 语句会出现 Missing keyword 错误。

WHERE tb.BOOKED_DATE = TO_DATE($P{pFromDate}, 'dd/MM/yyyy')
AND (case when $P{pTxnStatusId} = '11' then pg.RESPONSE_CODE is Not Null else pg.RESPONSE_CODE = $P{pTxnStatusId} end)

任何建议表示赞赏。

谢谢

4

1 回答 1

1

我不认为 case 语句是您想要的,您似乎正在尝试将逻辑应用于您的 where 语句。试试这个,转换为 AND 和 OR:

WHERE tb.BOOKED_DATE = TO_DATE($P{pFromDate}, 'dd/MM/yyyy')
AND (($P{pTxnStatusId} = '11') OR ($P{pTxnStatusId} = '0' AND pg.RESPONSE_CODE = 0))
于 2013-03-18T11:22:43.413 回答