Oracle CASE WHEN 'null' 为 SSRS 报告使用 Int

Oracle CASE WHEN 'null' to work with an Int for a SSRS report

我有一个正在被 res_id 过滤的查询。此查询用于获取 SSRS 报告的数据。这是在做这项工作,但是我希望能够 select 参数属性上的 'allow null' 复选框,而不是输入 0。我的 res_id 是一个 Int。

SELECT Employee
FROM Employees  
WHERE res_id = case when :ResID = 0 THEN res_id ELSE :ResID END 

我尝试了以下方法,但出现 'Expected Number, got a CHAR' 错误。

WHERE res_id = case when :ResID = 'null' THEN res_id ELSE :ResID END 

WHERE res_id = case when :ResID IS NULL THEN res_id ELSE :ResID END

我认为问题出在我正在使用 Visual Studio 2008 的报表生成器中。我知道 Oracle 和报表之间的代码转换有时可能会出现问题,所以这就是我的原因寻求另一种方法的帮助。

提前感谢大家的帮助:)

你也可以试试

where res_id=nvl(:ResID,res_id)